==是进行对象地址值的比较,如果确实需要自付串的内容比较,可以使用俩个方法
1.public boolean equals(Object obj),参数可以是任何对象,只有参数一个字符串并且内容相同
并且内容相同的才会给true,否则返回false
boolean | equals(Object anObject) 将此字符串与指定的对象比较。 |
注意事项:
1.任何对象都可以用Object进行接收
2.equals方法具有对称新,也就是a.equals(b)和b.equals(a)效果一样;
3.如果比较双方一个常量一个变量,推荐把常量字符放在字符串写在前面
推荐:"abc".equals(str) 不推荐str.equals("abc");
2.public boolean equalsIgnoreCase(String str):大小写可忽略,进行比较
boolean | equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比较,不考虑大小写。 |
public class Test03StringEquals {
public static void main(String[] args) {
String str1="Hello";
String str2="Hello";
char[] charArray= {'H','e','l','l','o'};
String str3=new String(charArray);
//下面进行比较equals
System.out.println(str1.equals(str2));//true
System.out.println(str2.equals(str3));//true
//内容相同 效果一样
System.out.println(str3.equals("Hello"));//true
System.out.println( "Hello".equals(str2));//true
//区分大小写
String str4="hello";
System.out.println( str4.equals(str2));//false
//下面说下为什么推荐
String str5=null;
System.out.println("abc".equals(str5));//推荐:false
//System.out.println( str5.equals("abc"));//不推荐;会报错,空指针异常NullPointerException
//第二个方法 public boolean equalsIgnoreCase(String str) 对比equals
String strA="Java";
String strB="java";
System.out.println(strA.equals(strB));//严格区分大小写
System.out.println(strA.equalsIgnoreCase(strB));//true,忽略大小写
//我们还要注意的事这里的大小写只是英文当中的大小写
}
}