栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Hashcode()方法的重写模板

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hashcode()方法的重写模板

对于初学Java的小白们来说HashCode和equals方法重写是必须要掌握的,对于大量们来说一般的都是利用集成开发工具快捷生成,小编利用的是Eclipse,快捷生成按Alt+Shfit+S在勾选相应的选项即可!

代码模板

package com.jre.java.se;
import java.util.HashSet;
import java.util.Set;

public class HashCodetest {

	 public static void main(String [] agrs) {
		 
		 Setset=new HashSet<>();
		 Student a=new Student(1,"jack");
		 Student b=new Student(1,"jack");
		 set.add(a);
		 set.add(b);
		 for(Student o:set) {
			 System.out.println(o);
		 }
			
		    //重写之后
		  System.out.println(a.hashCode());//3254659
		  System.out.println(b.hashCode());//3254659
		 
		 	 
	 }
}
class Student{
	int id;
	String name;
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + "]";
	}
	public Student(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}
	//重写HashCode()方法
	public int hashCode() {
		final int prime =20;//定义一个定值
		int result =1;//定义返回值初始值自己定
		result=prime*result+id;//将对象的int类型属性值直接给返回值
		result=prime*result+((null==name)?0:name.hashCode());
		//如果对象的String类型属性是null给值0如果不是先调用String类的hashCode算法得到哈希值在把值给返回值
		return result;
	}
}

对于小白们可以自己敲一敲代码,不要开始就一键生成,可以先理解理解

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号