java中"=="和equals的用法的区别
在java中"=="通常有两个作用
1.在基本类型中比较的是比较的是两个值是否相等
2.在引用类型是比较的是两个引用的地址是否相同
在java中equals的作用
如果需要比较字符串的值是否相等,可以使用public boolean equals(Object object) ,参数可以是任何对象,如果参数是一个字符串且内容相等会返回true,否则会返回false
注意:
a.任何对象都可以用Object接收
b.equals具有对称性,即a.equals(b)和b.equals(a)是相同的
c.如果比较一个常量和一个变量.推荐把常量字符串写在前面
即"abc".equals(str)这样可以避免空指针异常
如果要忽略大小写可以使用public boolean equalsIgnoreCase(String str)
String str1="aaa";
String str2="aaa";
char[] array=new char[]{'a','a','a'};
String str3=new String(array);
String str4="AAA";
boolean b = str1.equals(str2);
boolean b2 = str1 == str2;
System.out.println(b);//true
System.out.println(b2);//true
boolean b1 = str1.equals(str3);
boolean b3 = str1 == str3;
System.out.println(b3);//false
System.out.println(b1);//true
boolean b4 = str1.equalsIgnoreCase(str4);
System.out.println(b4);//true