字符串的比较方法---Java


==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:

public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true;否则返回false。
注意事项:
1. 任何对象都能用Object进行接收。
2. equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。
3. 如果比较双方一个常量一个变量,推荐把常量字符串写在前面
推荐:"abc".equals(str) 不推荐:str.equals("abc")

public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较。

 1 public class Demo01StringEquals {
 2 
 3 public static void main(String[] args) {
 4 String str1 = "Hello";
 5 String str2 = "Hello";
 6 char[] charArray = {'H', 'e', 'l', 'l', 'o'};
 7 String str3 = new String(charArray);
 8 
 9 System.out.println(str1.equals(str2)); // true
10 System.out.println(str2.equals(str3)); // true
11 System.out.println(str3.equals("Hello")); // true
12 System.out.println("Hello".equals(str1)); // true
13 
14 String str4 = "hello";
15 System.out.println(str1.equals(str4)); // false
16 System.out.println("=================");
17 
18 String str5 = null;
19 System.out.println("abc".equals(str5)); // 推荐:false
20 // System.out.println(str5.equals("abc")); // 不推荐:报错,空指针异常NullPointerException
21 System.out.println("=================");
22 
23 String strA = "Java";
24 String strB = "java";
25 System.out.println(strA.equals(strB)); // false,严格区分大小写
26 System.out.println(strA.equalsIgnoreCase(strB)); // true,忽略大小写
27 
28 // 注意,只有英文字母区分大小写,其他都不区分大小写
29 System.out.println("abc一123".equalsIgnoreCase("abc壹123")); // false
30 }
31 
32 }
原文地址:https://www.cnblogs.com/zeon/p/13357283.html