您的位置:首页 > 编程语言 > Java开发

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

2016-09-12 09:21 627 查看

简介

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的三个常用方法,希望对大家能有所帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息