java中判断两个对象是否为同一个对象。

原创 2016年09月10日 11:29:17

用“==”比较的是引用的地址,用equals比较的就是值。那我们new两个相同的对象什么属性都一样,为什么编译的时候不相同,这是因为我们调用的是父类也就是Object的equals方法,这里我们就需要重写这个equals方法。

public class Test5 {

    public static void main(String[] args) {

        User mUser1 = new User("zhangsan", "123456");
        User mUser = new User("zhangsan", "123456");
        System.out.println(mUser == mUser1);
        System.out.println(mUser.equals(mUser1));

    }
}

class User {
    String name = "";
    String pwd = "";



    @Override//重写父类的equals方法
    public boolean equals(Object obj) {
        if (obj instanceof User) {
            User mUser = (User) obj;
            if (mUser.name.equals(name)&&mUser.pwd.equals(pwd)) {
                return true;
            }
        }
        return super.equals(obj);
    }


    public User(String name, String pwd) {
        super();
        this.name = name;
        this.pwd = pwd;
    }

}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java 判断对象是否是某个类的类型两种方法

一、 instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。  用法: ...

java 判断两个对象是否相等 equals 和 hashcode() 的必要性

只有用到Hashtable、HashMap、HashSet、LinkedHashMap等时才要注意hashcode,其他地方hashcode无用。(这么理解不一定对) 判断两个对象是否相等是否要求ha...

Java中两个对象的比较 equals()方法和==号的区别

在Java中,时不时我们会把两个对象进行,然而得到的结果却不是我们想的结果,这是怎么回事呢? 一、两种形式的比较:比较时,我们要弄清楚是哪一种比较。       1.值类型比较       即内容...

hibernate注解配置一对多,分类表

hibernate注解配置一对多,分类表,使用parentId指向Id关联。查询的结果为树型。 折腾一天,一直失败。最主要一点就是:parentId为外键,需要先手动在数据库增加一条记录,作为root...
  • jueane
  • jueane
  • 2013年12月08日 00:17
  • 2938

Java Struts2、Spring、Hibernate框架及jar包下载

一、框架的下载 1、Struts2:http://struts.apache.org/download 2、Spring:http://www.springsource.org/download/c...

一种排序--引发:java两个引用指向同一个对象

地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=8 一种排序 时间限制:3000 ms  |  内存限制:65535 KB 难...

C# 在两个不同的方法里面Lock同一个锁对象,是否需要线程等待?

前述: C#中支持多线程,而多线程引发的一个比较突出的问题就是在同一个时间里,可能会有多个线程访问同一个资源,引起资源的竞争 导致数据损坏。 lock 关键字可以用来确保代码块完成运行,而不会被其他线...

Java线程:线程的同步与锁 一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对

Java线程:线程的同步与锁       一、同步问题提出   线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。 例如:两个线程Thread...

如何将对数据库两个表的操作处于用一个事物下?同一个连接对象+事物拦截

需求: 我要存储同时存储一个学生信息和这个学生购买的图书信息,当学生的信息存储失败了,图书信息也不存储了,反之也一样,当某本书的信息存储失败了,学生信息也不存储了。正常情况下,如果两个表的信息分开存...

java 判断两个对象是否相等 equals 和 hashcode() 的必要性

只有用到Hashtable、HashMap、HashSet、LinkedHashMap等时才要注意hashcode,其他地方hashcode无用。(这么理解不一定对) 判断两个对象是否相等是否要求h...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中判断两个对象是否为同一个对象。
举报原因:
原因补充:

(最多只允许输入30个字)