• 重写Object的equals方法


    Object的equals比较两个对象是否相同,没有重写时比较的是内存地址是否相同(==)。

    但我们有时候比较的是两个对象中的属性是否相同,

    重写equals:

    package cn.sasa.demo1;
    
    public class Person {
    	private String name;
    	private int age;
    	
    	public Person(String name, int age) {
    		this.name = name;
    		this.age = age;
    	}
    	
    	public String getName() {
    		return this.name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	
    	public int getAge() {
    		return this.age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	
    	//比较age是否相同
    	public boolean equals(Object obj) {
    		//return this == obj; //比较内存地址
    		if(obj == null) {
    			return false;
    		}
    		if(this == obj) {
    			return true;
    		}
    		if(obj instanceof Person) {
    			Person p = (Person)obj;
    			return this.getAge() == p.getAge();
    		}
    		return false;
    	}
    }
    

      

    package cn.sasa.demo1;
    
    public class Test {
    	public static void main(String[] args) {
    		Person p1 = new Person("sa", 12);
    		Person p2 = new Person("sasa", 121);
    		//p2 = p1;
    		boolean b = p1.equals(p2);
    		System.out.println(b);
    	}
    }
    

      

  • 相关阅读:
    python学习笔记
    win10优化设置
    jpa基本用法
    5_方法(函数)、参数传递
    12_文件基本权限
    10_管理用户和组
    9_用户和组的相关配置文件
    7_vim 编辑器使用技巧
    8_Xmanager 远程连接 Linux 系统工具使用方法
    5_Linux系统目录结构,相对/绝对路径
  • 原文地址:https://www.cnblogs.com/SasaL/p/10106623.html
Copyright © 2020-2023  润新知