月小升

一个13年的开发老兵。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在 Java 中,比较字符串的常用方法有 3 个:equals() 方法、equalsIgnoreCase() 方法、 compareTo() 方法
1. equals()
equals() 方法将逐个地比较两个字符串的每个字符是否相同。

"abc".equals("abc")

2. equalsIgnoreCase() 方法
equalsIgnoreCase() 方法的作用和语法与 equals() 方法完全相同, 但是忽略大小写

"Abc".equalsIgnoreCase("abc")

返回true

3. compareTo() 方法
compareTo() 方法用于按字典顺序比较两个字符串的大小,该比较是基于字符串各个字符的 Unicode 值。

String str1 = "a";
String str2 = "A";
 
System.out.println(str1.compareTo(str2));

输出 32

4. 误区 ==

不少人会比较string的时候用到== 其实==表示对比底层地址。

String str1 = "abc";
String str2 = new String("abc");
 
System.out.println(str1==str2); 
System.out.println(str1.equals(str2));
 
System.out.println(str1=="abc");
System.out.println(str1.equals("abc"));
false
true
true
true

str1==str2 返回了false,因为两个字符串所在的存储地址不同。str2 是 str1 的拷贝,不过值相同所以equals

https://java-er.com/blog/java-compare-string/

posted on 2020-02-24 21:56  月小升  阅读(386)  评论(0编辑  收藏  举报