为了账号安全,请及时绑定邮箱和手机立即绑定

equals的使用

在视频最后的练习中,比较2部手机的尺寸、内存、CPU是否能用equals进行单个比较,在三个属性中的对比输出3个不同的结果,是否能用equals来写代码?

正在回答

2 回答

你好!我也有这个疑问。

	public static void main(String[] args) {
		Telphone phone1 = new Telphone(3.5f,2.2f,3.5f);
		Telphone phone = new Telphone(3.5f,2.2f,3.1f);
		if (phone1.equals(phone.mem)){
			System.out.println("两部手机是相同的!");
		}
		else{
			System.out.println("两部手机是不相同的!");
		}

用equals的方法来比较,如上面代码所示,phone1是不能用其本身的单一属性来比较的(写成phone1.mem会报错),而后面phone是可以的。上面比较的是phone1phone.mem。同样,mem可以换成screen,cpu。就是phone1中的所有属性值,和equals的对象只做相对应的值的比较。

	public static void main(String[] args) {
		Telphone phone1 = new Telphone(1.3f,2.2f,3.5f);
		Telphone phone = new Telphone(3.5f,2.2f,3.1f);
		if (phone1.mem==(phone.mem)){
			System.out.println("两部手机是相同的!");
		}
		else{
			System.out.println("两部手机是不相同的!");
		}

用==的方法来比较,就可以用对应的单一的属性来比较,例如代码所示phone1.mem和phone.mem比较。至于为什么equals不可以,具体的原因搞不懂。交流交流,弄懂了告诉我下!

0 回复 有任何疑惑可以回复我~
#1

慕用831298

不好意思,上面的上半部分写错了,熬夜人都熬傻了。equals是不可以像上面说的那样比较的,虽然没有报错,但是结果一直是false。下面的= =比较是可以用的。如果你弄懂了equals方法,希望可以告诉我下。
2017-08-15 回复 有任何疑惑可以回复我~

能能能

0 回复 有任何疑惑可以回复我~
#1

64946

怎么操作?
2017-08-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

equals的使用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信