字符串的比较相关方法
==是进行对象的地址值比较,如果需要字符串的内容比较,可以使用两个方法:
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 忽略大小写