Javase中string类equals函数比较

Cokey1 2020-06-25 11:04:46
cd.equals(cd1);



public boolean equals(Object obj){
CD cc=(CD)obj;
return artist.equals(cc.artist)}

这里的代码的一部分CD指的是我自己创建的一个类,cd和cd1都是指的是这个类的对象,然后创建一个equals函数进行比较着两个对象是否相等。
我想问一下就是这里的equals函数传入的是cd1,然后equals函数return中两个artist,第二个指的是cd1中的,但是前面那个指的是cd中的artist吗?不是只是传入了cd1这一个对象吗?cd的artist也可以直接在这里调用吗?

...全文
11351 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2020-07-15
  • 打赏
  • 举报
回复
引用 楼主 Cokey1 的回复:
cd.equals(cd1); public boolean equals(Object obj){ CD cc=(CD)obj; return artist.equals(cc.artist)} 这里的代码的一部分CD指的是我自己创建的一个类,cd和cd1都是指的是这个类的对象,然后创建一个equals函数进行比较着两个对象是否相等。 我想问一下就是这里的equals函数传入的是cd1,然后equals函数return中两个artist,第二个指的是cd1中的,但是前面那个指的是cd中的artist吗?不是只是传入了cd1这一个对象吗?cd的artist也可以直接在这里调用吗?
因为你可以已经实例化cd该类了,你调用的也是cd类中的equals方法,方法中的变量默认是同类中的变量,所以cd.artist当然能调用。
  • 打赏
  • 举报
回复
1.==和equals()都是用来比较数据是否相等的方式。 2.不同点: 比较内容: ==:可以比较任意数据类型,既可以比较基本数据类型,也可以比较引用数据类型 equals():只能比较引用数据类型 比较规则不同: ==:在比较基本数据类型的时候,比较的是数据本身,比较是引用数据类型时,比较的是地址值 equals():在重写之前,比较的是地址值,在重写之后,按照重写的规则进行比较
捏造的信仰 2020-07-09
  • 打赏
  • 举报
回复
第一个 artist 是 "this.artist" 的简写,省略了 this
胖到没有朋友 2020-06-30
  • 打赏
  • 举报
回复
引用 楼主 Cokey1 的回复:
cd.equals(cd1); public boolean equals(Object obj){ CD cc=(CD)obj; return artist.equals(cc.artist)} 这里的代码的一部分CD指的是我自己创建的一个类,cd和cd1都是指的是这个类的对象,然后创建一个equals函数进行比较着两个对象是否相等。 我想问一下就是这里的equals函数传入的是cd1,然后equals函数return中两个artist,第二个指的是cd1中的,但是前面那个指的是cd中的artist吗?不是只是传入了cd1这一个对象吗?cd的artist也可以直接在这里调用吗?
artist应该是你定义好的一个成员变量,你可以看一下这个是怎么来的,不在这个方法中,就在这个类中,不声明变量这个是没办法使用的
whuyotc 2020-06-25
  • 打赏
  • 举报
回复
equals是你定义类的成员函数么?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧