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

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

你可能感兴趣的:(Java 字符串比较)