社区
Java SE
帖子详情
Java-Object.equals
临世驻年
2020-10-15 10:54:23
Java-Object.equals方法和==有什么区别?如果没有区别,应该怎么去产生区别?
...全文
1921
5
打赏
收藏
Java-Object.equals
Java-Object.equals方法和==有什么区别?如果没有区别,应该怎么去产生区别?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SpiritPoss
2020-10-16
打赏
举报
回复
https://blog.csdn.net/qq_35849955/article/details/82988560
开心就好O
2020-10-15
打赏
举报
回复
这是Object的equals方法 public boolean equals(Object obj) { return (this == obj); } 想要有区别就重写,比如String类就重写了 public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }
meet_aas
2020-10-15
打赏
举报
回复
这个区别是肯定有的 简单点来说就是equals只比较内容是否相等 而==不仅比较内容是否相等还会比较存储地址是否相等
凉醉
2020-10-15
打赏
举报
回复
一般情况下equal表示的是内容相同,==表示的是引用相同。 比如 String s1 = new String("string"); String s2 = new String("string"); 则 s1.equals(s2)为true,s1==s2为false。 如果 String s3 = s1; 则s1.equals(s3)和s1==s3均为true。 object类的equal好像是直接比较==的,所以如果自定义类的话,一般是要求重写equal方法的。object类只是提供这个统一的方法而已,内容要自己定义。
KeepSayingNo
2020-10-15
打赏
举报
回复
有区别,==只能比较基础类型,如果是对象类型,例如Person对象,你就要自己写equals方法比较这个对象的哪些属性从而认为是相等的
Attempt to invoke virtual method 'boolean
java
.lang.String.
equals
(
java
.lang.
Object
)' on a null obje
caused by NullPointerException: Attempt to invoke virtual method 'boolean
java
.lang.String.
equals
(
java
.lang.
Object
)' on a null
object
reference如果在编译器中出现这种情况,自看一下布局会看到把View的V...
你还在用
Object
.
equals
()方法吗?
使用 JDK7 中工具类
Object
s 的
equals
方法,至此之后我就很少使用
Object
.
equals
() 方法了。
boolean
java
.lang.String.
equals
(
java
.lang.
Object
)
解决Attempt to invoke virtual method ‘boolean
java
.lang.String.
equals
(
java
.lang.
Object
)’ on a null
object
reference问题: 布局文件中用到<View>,要注意V大写,写成<view>就会报错 ...
java
中
Object
.
equals
()和==以及字符串.
equals
()区别
此时的hashCode被String类重写,以及
equals
()也被重写,所以此时的
Equals
比较时调用的不是
Object
中的
equals
的方法,此时比较的不是内存地址。 注意事项 在
Java
中==号比较的是内存地址,而
equals
比较的...
Java
-String.
equals
()方法
2,
java
.lang中的String类重写了
equals
()方法 3,代码如下: public boolean
equals
(
Object
an
Object
) { // 判断两个对象的引用地址是否相同 if (this == an
Object
) { return true; } // 判断...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章