首页 > 其他分享 >自动生成hashcode和equals方法

自动生成hashcode和equals方法

时间:2024-03-12 18:55:05浏览次数:26  
标签:return name int age equals 生成 Student hashcode public

右键一键生成import java.util.Objects;

public class Student {

private String name;
private int age;

public Student() {
}

public Student(String name, int age) {
this.name = name;
this.age = age;
}

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;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age && Objects.equals(name, student.name);
}

@Override
public int hashCode() {
return Objects.hash(name, age);
}
}


import java.util.HashSet;
import java.util.LinkedList;
import java.util.Set;

public class Main {
public static void main(String[] args) {
HashSet <Student> h=new HashSet<Student>();
Student s1=new Student("库里",30);
Student s2=new Student("追梦",31);
Student s3=new Student("克莱",35);
Student s4=new Student("克莱",35);
h.add(s1);
h.add(s2);
h.add(s3);
h.add(s4);
for(Student s:h){
System.out.println("姓名"+s.getName()+"年龄"+s.getAge());

}
}
}



标签:return,name,int,age,equals,生成,Student,hashcode,public
From: https://www.cnblogs.com/zhaoshengfu/p/18069011

相关文章

  • 【图论】最小生成树与Prim、Kruskal算法
    求图的最小生成树的Prim、Kruscal算法,其实都是由最小生成树的性质推来的,掌握了该性质,便能较容易地推导出这两种算法。最小生成树的性质无向图G的顶点集为VVV,设......
  • Claude是否超过Chatgpt,成为生成式AI的一哥?
    Anthropic周一推出了Claude3,据这家初创公司称,该系列中最有能力的Claude3Opus在各种基准测试中都优于Openai的竞争对手GPT-4和谷歌的Gemini1.0Ultra,具有多模态能力,推理能力和人类相当,速度更快更准确!(Solo社区投稿)Claude公司新推出的Claude3AI模型系列,以高性能、......
  • 高效的服务端生成QRCODE二维码方案-Docker搭建
    朗读全文Yourbrowserdoesnotsupporttheaudioelement.有什么用展现服务端生成QRCODE二维码方案(Docker搭建)可直接使用我搭建的服务端生成QRCODE服务怎么用使用URL:https://c.carlzeng.top:4443/qrcode?size=150&margin=20&txt=www.carlzeng.top或者使用https://q......
  • 图数据库基准测试 LDBC SNB 系列讲解:Schema 和数据生成的机制
    LDBC(LinkedDataBenchmarkCouncil)SocialNetworkBenchmark,简称LDBCSNB,是一种针对社交网络场景的评估图数据库性能的基准测试。LDBC简介除了SocialNetworkBenchmark,LDBC旗下目前还有其他几种基准测试:GraphalyticsBenchmark,FinancialBenchmark和SemanticPublishB......
  • 生成二维码及二维码添加文本及图片
      生成二维码及二维码添加文本及图片如果要输出流,也可以参考此处packagecom.myFirstSpring.test;importjava.awt.BasicStroke;importjava.awt.Color;importjava.awt.Font;importjava.awt.FontMetrics;importjava.awt.Graphics;importjava.awt.Graphics2D;impo......
  • 代码生成器之如何快速生成后端接口?
    前言在现代软件开发中,重复性的增删改查逻辑代码的编写往往非常耗时且容易出错。为了提高开发效率,减少手动维护的成本,代码生成器就成为了一个非常重要的工具,本文小编就将为大家介绍一下如何利用一个开源项目快速生成数据接口。实现方式环境准备技术栈:Java,Spring-Boot,MyBatisPlu......
  • Java的结构、equals字符串判断与反编译
    顺序结构Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句往下执行顺序结构是最简单的算法结构语句与语句之间,框与框之间是按上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构代码举例publicclas......
  • 使用vscode插件生成小型c项目
    VScode生成c小型项目1.VScode安装C/C++projectcreator2.在磁盘任意位置创建一个文件夹名称(最好易懂)3.vscode顶部菜单栏点击文件或者快捷键f打开刚创建的文件夹​3.1在vscode界面下按ctrl+shift+p输入createC++Project​3.2生成的文件夹&文件有include------......
  • C# 生成Guid的几种方法以及显示结果
    原文链接:https://blog.csdn.net/weixin_40029679/article/details/126425629stringguid=Guid.NewGuid().ToString();//db2429d9-872c-4799-b6e5-b239b878e933stringguidN=Guid.NewGuid().ToString("N");//db2429d9872c4799b6e5b239b878e933stringguid......
  • 力扣 22. 括号生成
    数字n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输入:n=1输出:["()"]classSolution{  publicList<String>generate......