package Equals的用法;public class Phone1 { public int cpu = 2; public void say() { System.out.println("我是手机"); }}package Equals的用法;public class Phone2 { public int cpu = 2; public void say() { System.out.println("我是手机"); } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Phone2 other = (Phone2) obj; if (cpu != other.cpu) return false; return true; }}package Equals的用法;public class User { public static void main(String[] args) { Phone1 aPhone1 = new Phone1(); Phone2 aPhone2 = new Phone2(); if (aPhone1.equals(aPhone2)) { System.out.println("比较的是对象的地址: 一样"); } else { System.out.println("比较的是对象的地址: 不一样"); } if (aPhone2.equals(aPhone1)) { System.out.println("比较的是对象的属性: 一样"); } else { System.out.println("比较的是对象的属性: 不一样"); } }}
1 回答
Caballarii
TA贡献1123条经验 获得超629个赞
aphone1和aphone2的类型都不一样,一个是Phone1,一个是Phone2,上来比较就会return false
比较的应该是同一类型的两个对象
Phone2 aPhone1 = new Phone2();
Phone2 aPhone2 = new Phone2();
这样的aPhone1和aPhone2比较才有意义
添加回答
举报
0/150
提交
取消