天天看點

字元串的比較相關方法

==是進行對象的位址值比較,如果需要字元串的内容比較,可以使用兩個方法:

public boolean equals(Object obj):參數可以是任何對象,隻有參數是一個字元串并且内容相同的才會給出true;否則傳回false。

1         String str1 = "Hello";
 2         String str2 = "Hello";
 3         char[] charArray = {'H','e','l','l','o'};
 4         String str3 = new String(charArray);
 5 
 6         System.out.println(str1.equals(str2));//true
 7         System.out.println(str1.equals(str3));//true
 8         System.out.println(str2.equals(str3));//true
 9         System.out.println(str3.equals("Hello"));//true
10         System.out.println("Hello".equals(str1));//true
11 
12         String str4 = "hello";
13         System.out.println(str4.equals(str1));//false
14 
15         String str5 = null;
16         System.out.println("abc".equals(str5));//推薦:false
17 //        System.out.println(str5.equals("abc"));//不推薦:報錯,空指針異常NullPointerException      

注意事項:

1.任何對象都能用Object進行接受。

2.equals方法具有對稱性,也就是 a.equals(b) 和b.equals(a) 效果一樣。

3.如果比較雙方一個常量一個變量,那麼推薦把常量字元串放在前面。//例如: "abc".equals.(str)

public boolean equalsIgnoreCase(String str):忽略大小寫,進行内容比較。【注意】忽略大小寫隻限于英文。

1         String strA = "java";
2         String strB = "Java";
3         System.out.println(strA.equals(strB));//false 嚴格區分大小寫
4         System.out.println(strA.equalsIgnoreCase(strB));//true 忽略大小寫