首页 > 其他分享 >hashCode方法 和 equals()方法

hashCode方法 和 equals()方法

时间:2024-08-01 09:55:46浏览次数:8  
标签:name equals hashCode User 方法 public users

package com.coding.spring.mvc;

import java.util.HashSet;

public class User {
    private String name;

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

    @Override
    public boolean equals(Object obj) {
        User user = (User) obj;
        return name.equals(user.name);
    }

    // 注意 hashCode方法 和  equals()方法必须同时重写才可以
    @Override
    public int hashCode() {
        return name.hashCode();
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                '}';
    }

    public static void main(String[] args) {
        HashSet<User> users = new HashSet<>();

        User tom1 = new User("tom");
        User tom2 = new User("jack");
        User tom3 = new User("tom");

        users.add(tom1);
        users.add(tom2);
        users.add(tom3);

        users.forEach((item) -> {
            System.out.println(item);
        });
        // output: User{name='tom'}
        //       User{name='jack'}
    }
}
~~~java

标签:name,equals,hashCode,User,方法,public,users
From: https://www.cnblogs.com/dongyaotou/p/18336042

相关文章

  • TypeError:ufunc 的循环不支持 dict 类型的参数 0,该类型没有可调用的 sqrt 方法
    我遇到了一个错误:psi_out_norm.append(np.sqrt(sorted_probs))TypeError:loopofufuncdoesnotsupportargument0oftypedictwhichhasnocallablesqrtmethod不知道如何解决此错误。下面是我正在处理的代码:num_qubits=2sorted_probs={'00':0.182613164......
  • js中数组方法reduce的妙用
            在JavaScript中,reduce()是数组的一个方法,它用于将数组中的所有元素按照指定的函数进行合并并返回一个结果。使用reduce()方法,可以对数组进行求和、累加等操作。        我一直陷入固有思维,一直只使用reduce来进行累加操作。今天在做项目时在要进行复......
  • docker常用的使用方法
    docker如何退出进入的容器?要退出Docker容器的shell环境可以按以下步骤操作:在容器shell状态下,按下键盘上的Ctrl和P键。2然后按下Ctrl和Q键。这将使您退出容器的shell环境,但不会停止容器的运行。您将返回到宿主机的shell终端,而容器将继续在后台运行。如果......
  • 暗区突围pc端下载失败/卡正在初始化/连接伺服务器失败/问题解决方法
    暗区突围pc端下载失败/卡正在初始化/连接伺服务器失败/问题解决方法暗区突围pc端下载失败/卡正在初始化/连接伺服务器失败/问题解决方法暗区突围也可以在电脑上游玩拉,暗区突围PC端上线在即,本次上线就是全球抢先测试了,很多小伙伴在游戏下载过程中遇到了很多问题,比如:下载失......
  • 六种方式涵盖了Vue 3中定义和使用模板的主要方法
    1.单文件组件(SFC)单文件组件(SingleFileComponent,SFC)是Vue组件开发中最常见的方式。使用.vue文件来定义一个组件,包含<template>、<script>和<style>块。示例1<template>2<div>3<p>{{message}}</p>4</div>5</template>6......
  • 分块矩阵方法
    分块矩阵法是高等代数中处理矩阵相关问题的最重要的方法之一,其重要性可以说怎么强调都不过分.分块矩阵法的核心思想是根据具体问题构造适当的分块矩阵,然后运用广义初等变换,将某些子块消为零块,得到特殊的分块矩阵从而解决问题.该方法几乎贯穿了线性代数的始终,在矩阵求......
  • 对字符串形式的公式进行数学计算处理方法
    一、通过JavaScript引擎(Nashorn)进行处理,较新jdk版本不支持在JavaFX中,将字符串表示的公式转化为实际可计算的公式是一个涉及到解析和评估字符串表达式的过程。你可以使用Java的内置库javax.script来实现这个功能。javax.script允许你执行JavaScript代码,包括数学表达式,并且它提供了......
  • Java 方法
    方法一、语句定义格式修饰符返回值类型方法名(参数类型1参数名1,参数类型2参数名2,...){方法的实现逻辑;return返回值;}名词解释修饰符:目前的固定写法publicstatic2hgwaghgwdh7yygxsafe方法名:将来调用者使用功能的名字,可以通过名字调用,方法名要符合标识符的命名规......
  • 使用 Python 读取 .xlsx 文件的最快方法
    我正在尝试使用Python将.xlsx文件中的数据读入MySQL数据库。这是我的代码:wb=openpyxl.load_workbook(filename="file",read_only=True)ws=wb['MyWorksheet']conn=MySQLdb.connect()cursor=conn.cursor()cursor.execute("SETautocommit=0"......
  • Linux常见命令及帮助文档使用方法
    一、Linux中的常见命令查看系统信息1.查看CPU[root@Rocky8~]#lscpuArchitecture:x86_64CPUop-mode(s):32-bit,64-bitByteOrder:LittleEndianCPU(s):2...2.查看硬盘[root@Rocky8~]#lsblkNAMEMAJ:MINRMSIZE......