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

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

	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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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