Java中equals和hashcode方法重写
2017-10-24 14:06
375 查看
在Java中需要比较两个对象时,通常需要重写equals方法和hashcode方法。
package com.gds.ai; public class Student { private String address; private String name; private int age; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Student() {} public Student (String address, String name, int age) { this.address = address; this.age = age; this.name = name; } public boolean equals(Object o) { if (o == this) {return true;} if (!(o instanceof Student)) { return false; } Student std = (Student) o; return std.address.equals(address) && std.name.equals(name)&& std.age == age; } public int hashcode() { int result = 17; result = 31*result + address.hashCode(); result = 31*age + age; result = 31*result + name.hashCode(); return result; } public static void main(String[] args) { Student stu1 = new Student("中国","张三",15); Student stu2 =new Student("中国","张三",18); System.out.println(stu1.equals(stu2)); } }
相关文章推荐
- Java中重写Object类的equals方法和Hashcode方法的注意事项
- JAVA重写equals和hashCode方法实现不定项分类统计
- JAVA中重写equals()方法为什么要重写hashcode()方法?
- JAVA类中的equals()方法和hashCode()方法的重写
- JAVA中重写equals()方法为什么要重写hashcode()方法?
- Java中重写Object类的equals方法和hashcode方法的注意事项
- 学习笔记-JAVA-考点10-什么情况下需要重写equals和hashcode()两个方法?
- 【转】Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例
- JAVA中重写equals()方法为什么要重写hashcode()方法?
- java中重写Object类的equals方法和Hashcode方法的注意事项
- JAVA中重写equals()方法为什么要重写hashcode()方法?
- java重写equals和hashCode方法
- Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例
- 重写Java Object对象的hashCode和equals方法实现集合元素按内容判重
- Java中重写Object类的equals方法和 hashcode方法的注意事项
- 【Java基础】JAVA中重写equals()方法为什么要重写hashcode()方法?
- JAVA中重写equals()方法为什么要重写hashcode()方法说明
- JAVA中重写equals()方法为什么要重写hashcode()方法?
- JAVA中重写equals()方法为什么要重写hashcode()方法?
- JAVA中重写equals()方法为什么要重写hashcode()方法?