社区
Java SE
帖子详情
Java-Object.equals
临世驻年
2020-10-15 10:54:23
Java-Object.equals方法和==有什么区别?如果没有区别,应该怎么去产生区别?
...全文
1925
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写成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
()区别
String s1=new String("abc"); System.out.println("abc".hashCode()); System.out.println(s.hashCode()); 此时遇到两个hashCode都为96354。 原因 在使用new String 时,String类将字符串的值和hashcode的值都赋给了新的对象。 此时的hashCode被Str
Java
-String.
equals
()方法
1,
equals
()方法是
Object
类中就存在的 2,
java
.lang中的String类重写了
equals
()方法 3,代码如下: public boolean
equals
(
Object
an
Object
) { // 判断两个对象的引用地址是否相同 if (this == an
Object
) { return true; } // 判断...
Java SE
62,630
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章