您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Java中父类Object的常用方法总结

2024/3/7 19:29:26发布30次查看
简介
object类: 这个类java.lang.java是所有类默认继承的父类
object类中常用的三个方法:tostring() , equal() , hashcode()
一、tostring()方法 对象的自我描述,对象的自我介绍
在对象的自我描述过程中,由于使用get()方法打印实例变量比较麻烦,为了简便,使用tostring() .
public string tostring(){ return “学好” + getno() + “姓名” + getname(); }
system.out.println(s); 就相当于 system.out.println(s.tostring());
在打印:
a.基本数据类型时 直接打印 其数值
b.引用数据类型时 调用tostring() 在打印
若没有重写object类中的tostring()方法时,直接打印对象,在控制台得出的结果是:
包全名@对象的hashcode
二、equals()方法 重写equals()一定要重写hashcode(),
equals()比较的是两个对象,或者两个对象的内容;hashcode() 是对象的内部地址,是一个整数。
==与equals()的区别?
答:==实质比较的是二进制,基本数据类型比较的是数值,引用数据类型比较的 是地址
equals()分为object类的equals()和string类的equals() ,object类的equals()相当于==比较引用类型情况;string类的equals()重写啦object类中的equals()方法,比较的是字面值。
instanceof判断类名,或者可能使用反射
对象的引用变量名 instanceof 类名 这个表达式,如果对象的引用变量名是 后面类名的类或者基类对象其返回值任然是true.
自定义equals()方法:
1.类型德相同
2.定义自己的比较规则
public boolean equals(object object){ //重写object的equals()方法 equalstest equalstest = (equalstest) object; if(equalstest.getclass() == equalstest.class){ //? if((this.name==equalstest.name)&&(this.price== qualstest.price)){ return true; }else{ return false; } }else{ return false; } }
三、hashcode()方法 用于加速查找,实现索引查找 (查询算法,存储算法)
public int hashcode(){ return this.name.hashcode()*13 + new interger(getage).hashcode()*12; }
hashcode的两个原则:
1.两个对象equals()方法比较返回值为true时,那么他们的hashcode()方法也要保证返回值相同。
2.对象中用equals()来比较使用的属性,都应该用来计算hashcode() 。
hashcode() 哈希算法
需求:
1.hashcode()返回值相同,equals()返回值也一定要相同。
2.重写hashcode()使用啦什么属性,在equals()方法中也要使用什么属 性。
注:hashcode相同,equals不一定相同。
hashcode用于判断文件夹,equals用来判断文件。
如果不重写hashcode()方法,默认的hashcode()方法是根据对象的地址求出来的(键值就是对象的地址)
如果重写啦hashcode()方法就不能用来判断是不是同一个对象,
则可以使用system.identityhashcode(对象的引用名) 若hashcode相同,则为同一个对象。
system.out.println(system.identityhashcode(对象的引用名));
如果没有hashcode() ,其对象的hashcode是通过对象地址算出来的。
system.out.println(对象引用名.hashcode());
注:hashset集合中元素是否存在以及删除操作依赖的方法是元素的hashcode()和equals()
总结
以上就是为大家整理的java中父类object的三个常用方法,希望对大家能有所帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
更多java中父类object的常用方法总结。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product