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

 更新时间:2016年09月12日 09:21:16   投稿:daisy  
这篇文章给大家介绍了Java中父类Object的三个常用方法,对大家学习或使用Java具有一定的参考借鉴价值,有需要的朋友们下面来一起看看吧。

简介

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

相关文章

  • maven依赖包冲突SLF4J: Class path contains multiple SLF4J bindings处理方法

    maven依赖包冲突SLF4J: Class path contains multiple SLF4J bi

    这篇文章主要给大家介绍了关于maven依赖包冲突SLF4J: Class path contains multiple SLF4J bindings的处理方法,这个问题通常是因为项目中存在多个SLF4J的实现绑定(bindings)导致的冲突,需要的朋友可以参考下
    2024-02-02
  • Java 非阻塞I/O使用方法

    Java 非阻塞I/O使用方法

    这篇文章主要介绍了Java 非阻塞I/O使用方法,文中涉及非阻塞I/O的简介,同时向大家展示了利用非阻塞I/O实现客户端的方法,需要的朋友可以参考下。
    2017-09-09
  • 详解Java中对象序列化与反序列化

    详解Java中对象序列化与反序列化

    这篇文章主要为大家详细介绍了Java中对象序列化与反序列化,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • Java Volatile关键字同步机制详解

    Java Volatile关键字同步机制详解

    这篇文章主要介绍了Java Volatile关键字同步机制详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • SpringCloud中使用Sentinel实现限流的实战

    SpringCloud中使用Sentinel实现限流的实战

    限流在很多地方都可以使用的到,本篇博客将介绍如何使用SpringCloud中使用Sentinel实现限流,从而达到服务降级的目的,感兴趣的可以了解一下
    2022-01-01
  • SpringBoot前后端交互、全局异常处理之后端异常信息抛到前端显示弹窗

    SpringBoot前后端交互、全局异常处理之后端异常信息抛到前端显示弹窗

    Spring Boot是一个用于构建独立的、基于生产级别的Spring应用程序的框架,下面这篇文章主要给大家介绍了关于SpringBoot前后端交互、全局异常处理之后端异常信息抛到前端显示弹窗的相关资料,需要的朋友可以参考下
    2024-08-08
  • Java基于swing实现的弹球游戏代码

    Java基于swing实现的弹球游戏代码

    这篇文章主要介绍了Java基于swing实现的弹球游戏代码,包含了窗体界面设计与游戏的逻辑功能处理,具有不错的参考借鉴价值,需要的朋友可以参考下
    2014-11-11
  • SpringBoot去除内嵌tomcat的实现

    SpringBoot去除内嵌tomcat的实现

    这篇文章主要介绍了SpringBoot去除内嵌tomcat的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SWT JFace Bookmark 制作

    SWT JFace Bookmark 制作

    SWT JFace Bookmark 制作
    2009-06-06
  • Java中list根据id获取对象的几种方式

    Java中list根据id获取对象的几种方式

    这篇文章主要给大家介绍了关于Java中list根据id获取对象的几种方式,文中通过实例代码介绍的非常详细,对大家学习或者使用java具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论