面向对象程序设计(Java)实验5
实验要求
编写一Person类,通过重写toString()、equals()、hashcode()方法,实现可以对Person类实例化出的对象进行equals和==的比较。
实验内容
package test5;
import java.util.Objects;
class person {
String sex;
int age;
String name;
boolean notempty;
public person(String sex,int age,String name){
this.sex = sex;
this.age = age;
this.name = name;
this.notempty = true;
}
@Override
public String toString() {
return "person{" +
"sex='" + sex + '\'' +
", age=" + age +
", name='" + name + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
person person = (person) o;
return age == person.age && sex.equals(person.sex) && name.equals(person.name);
}
@Override
public int hashCode() {
return Objects.hash(sex, age, name);
}
public static void main(String args[]){
person p1 = new person("男",20,"张三");
person p2 = new person("男",20,"张三");
System.out.println("p1 is " + p1 );
System.out.println("p2 is " + p2 );
System.out.println(p1.hashCode() == p2.hashCode());
System.out.println(p1 == p2);
System.out.println(p1.equals(p2));
}
}
本文来自作者:CK_0ff,转载请注明原文链接:https://www.cnblogs.com/Ck-0ff/p/16150713.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义