ben_lin
2017-07-31 22:19
在视频最后的练习中,比较2部手机的尺寸、内存、CPU是否能用equals进行单个比较,在三个属性中的对比输出3个不同的结果,是否能用equals来写代码?
你好!我也有这个疑问。
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是可以的。上面比较的是phone1和phone.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不可以,具体的原因搞不懂。交流交流,弄懂了告诉我下!
能能能
Java入门第二季 升级版
530647 学习 · 6091 问题
相似问题