Java-equals和==的区别
用法
public static void main(String[] args){
int a=6;
int b=6;
System.out.println(a==b);
String str1 = "aaa";
String str2 = "aaa";
System.out.println(str1==str2);
System.out.println(str2.equals(str1));
str1 = new String(str1);
System.out.println(str1==str2);
System.out.println(str2.equals(str1));
结果为:
true
true
true
false
true
}
区别
==:
- 如果比较的对象是基本数据类型,则比较的是数值是否相等;
- 如果比较的是引用数据类型,则比较的是对象的地址值是否相等。
equals:
equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以
适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的
equals方法返回的却是==的判断。
总结:
所有比较是否相等时,都是用equals 并且在对常量相比较时,把常量写在前面,因为使用object的
equals object可能为null 则空指针
在阿里的代码规范中只使用equals
,阿里插件默认会识别,并可以快速修改,推荐安装阿里插件来排
查老代码使用“==”,替换成equals
阅读剩余
版权声明:
作者:涛哥
链接:https://ltbk.net/back/java/basics/article/702.html
文章版权归作者所有,未经允许请勿转载。
作者:涛哥
链接:https://ltbk.net/back/java/basics/article/702.html
文章版权归作者所有,未经允许请勿转载。
THE END