12.1 Java 字符串比较

在 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


This entry was posted in JAVA and tagged . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/java-compare-string/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.
2020.03.24 评论已经全局关闭,有事加QQ聊天