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