重写equals方法,比较两个对象是否相等(比较shape,taste)

重写equals方法,比较两个对象是否相等(比较shape,taste)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public boolean equals(Fruits obj){
    if(obj==null)
        return false;
    if(this.getShape().equals(obj.getShape())&(this.getTaste().equals(obj.getTaste())))
        return true;
    else
        return false;         
}
//是这样写吗?
还是............
public boolean equals(Fruits obj){
    if(obj==null)
        return false;
    if(this.getShape().equals(obj.getShape())&&(this.getTaste().equals(obj.getTaste())))
        return true;
    else
        return false;         
}
还是.............
public boolean equals(Fruits obj){
    if(obj==null)
        return false;
    if(this.getShape().equals(obj.getShape())&&(this.getTaste()=(obj.getTaste())))
        return true;
    else
        return false;         
}

,后面的课程老觉得是说一半留一半在其它课程,好混乱。

还有最近看视频很卡怎么回事?开始的时候都不会。。。。。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2017-08-14 18:24:04

首先,用equals()还是用==,要看变量是否是字符串类型,如果是字符串类型就用equals()进行比较,如果是其他基本数据类型就用==进行比较。

&和&&都是与运算符,建议用短路与运算符&&,当&&左边的表达式的结果就可以决定整个表达式结果,右边的表达式将不在执行,提高了运行效率。

关于视频卡顿的问题,可以参见这个链接http://class.imooc.com/user/faqdetail?column_id=2&id=30    看看你的问题上面是否存在解决办法。

祝学习愉快!

  • 提问者 慕粉无名而来 #1
    在这个练习中,两个对象的比较里有两个值,该用&进行比较吧?
    2017-08-15 22:50:20
  • 一叶知秋519 回复 提问者 慕粉无名而来 #2
    你好,短路&&:表示两个条件都成立才返回true;当左边条件不满足时,短路右边条件,即不继续判断右边条件是否成立,从而能够提高代码的执行效率;所以这个练习中,有两个值仍然建议采用短路&&。祝学习愉快~
    2017-08-16 11:04:29
  • 那应该第二个是对的呗
    2017-08-30 11:16:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码