1. 前言
描述==运算符与equals之间区别的文章在网上有很多,很多文章在描述的时候描述的不是特别清晰,所以专门写一篇文章对二者定义和区别进行描述。
2. ==运算符在比较什么
对于值类型,==运算符比较值是否相等;
对于引用类型,==运算符比较地址是否相等。
3. equals比较什么
对于值类型,是无法使用equals方法进行比较的。
对于对象类型,看一下他们类型内对equals方法的定义,
-
Object内equals方法
image.png
由代码方法和方法描述来看,是引用地址比较。
-
String类型内equals方法
image.png
由代码方法和方法描述来看,是值比较。
-
Integer内equals方法
image.png
由代码方法和方法描述来看,是值比较。
后记
更多类型equals方法,直接看java源码即可,非常直观。
网友评论