社区
Java SE
帖子详情
Java-Object.equals
临世驻年
2020-10-15 10:54:23
Java-Object.equals方法和==有什么区别?如果没有区别,应该怎么去产生区别?
...全文
1908
5
打赏
收藏
Java-Object.equals
Java-Object.equals方法和==有什么区别?如果没有区别,应该怎么去产生区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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写成v导致程序白屏闪退。 --------------...
Android报错:Attempt to invoke virtual method 'boolean
java
.lang.String.
equals
(
java
.lang.
Object
)
Caused by:
java
.lang.NullPointerException: Attempt to invoke virtual method 'boolean
java
.lang.String.
equals
(
java
.lang.
Object
)' on a null
object
reference 一、id名大小写 1、项目中遇到空指针异常,具体定位到
Java
文件, 2...
boolean
java
.lang.String.
equals
(
java
.lang.
Object
)‘ on a null
object
reference
遇到的问题 Attempt to invoke virtual method ‘boolean
java
.lang.String.
equals
(
java
.lang.
Object
)’ on a null
object
reference 解决办法 可能是布局出错了,我是将写成了导致大小写导致的出错
报错Attempt to invoke virtual method 'boolean
java
.lang.String.
equals
(
java
.lang.
Object
)'
报错Attempt to invoke virtual method 'boolean
java
.lang.String.
equals
(
java
.lang.
Object
)' 的原因及解析
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 SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章