码迷,mamicode.com
首页 > 其他好文 > 详细

SE Homework 1 —An Error Impressed Me

时间:2016-03-04 20:56:54      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

在对两个对象进行比较、判断是否相等时,直接用 == 放在两个对象中间,例如下面的代码:

        Infor i1 = new Infor(111,"AA");

        Infor i2 = new Infor(111,"AA");

        System.out.println(i1 == i2);

输出的结果总为false,查了之后知道了 == 只是比较了两个引用变量的内存地址是不是相同,也就是是不是“同一个对象”而不是“相等”。要比较是否相等,需要通过重写equals()方法,也就是下面的代码: 

        public boolean equals(Object obj){

        if(this == obj){

            return true;

        }else if(obj instanceof Infor){

            Infor i1 = (Infor) obj;

            return this.orderld == o1.orderld &&

                    this.orderName.equals(o1.orderName);

        }else {

            return false;

        }

    }

然后再调用equals方法返回值就是true了!

        System.out.println(i1.equals(i2));

SE Homework 1 —An Error Impressed Me

标签:

原文地址:http://www.cnblogs.com/Veronica226/p/5243335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!