Java(equal与==遇到的小问题)
区别
“==” 比较的是两个引用在内存中指向的是不是同一对象(即同一内存空间),也就是说在内存空间中的存储位置是否一致。如果两个对象的引用相同时(指向同一对象时),“==”操作符返回true,否则返回flase。
equals常用的是对象里面的内容是否相等。
应用方法
- 如果是基本类型(int float double…)比较是否相等则直接用双等号 进行比较;如果把 "=="用语对象类型(String…)比较的话则比较的是其内存地址;
- equals只能用于对象类型,如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
如String、Date等类对equals方法进行了重写,比较的是所指向的内容。
参考:
https://www.cnblogs.com/DSC1991/p/11963524.html
https://blog.csdn.net/CcMark/article/details/62232581