【JAVASE学习笔记之Object和Objects类】

Object类的特点

* 是所有类的父类。

* 所有类都是直接或间接继承Object

 

我们知道Object是所有类的超类(父类),在这个类中有很多方法。比较常见的就有equals方法跟toString方法。

我对下面进行一个整理:

 

equals方法概述

* boolean equals(Object obj)

* 用来比较两个对象是否相同,相同返回true,否则false

* 默认是通过比较两个对象的地址值判断两个对象是否相同

重写equals方法的目的

* 在比较两个对象是否相同时不希望通过比较地址值判断,因为比较地址值没有任何意义。

而是希望通过比较两个对象的成员变量值来判断两个对象是否相同。

 

toString方法概述

* 默认返回值是:类全名@对象在内存中的地址值

* com.itheima._01Object类.Student@75828a0f

toString方法的调用时机

* 直接调用:通过对象名调用

* 间接调用:直接打印对象到控制台时,系统会自动调用该对象的toString方法

重写toString方法的目的

* 在打对象时不想看到对象在内存中的地址值,而是希望看到对象的成员变量值是什么。

 

 

关于Objects

跟Object类有点相似的就属于Objects工具类,跟Math,Arrays等工具类一样,都是直接使用类名调用对应的方法。

 

下面介绍Objects的常见方法:

public static boolean equals(Object a, Object b)

* 比较对象a和对象b是否相同,相同返回true,否则false

* 底层依赖于对象的equals方法,如果对象没有重写equals方法则是通过比较地址判断

public static Object requireNonNull(Object obj)

* 判断对象obj是否不为null,如果是则返回对象obj本身,否则抛出异常

 public static boolean nonNull(Object obj)

* 判断对象obj是否不为null,是返回true,否则false

public static boolean isNull(Object obj)

* 判断对象obj是否为null,是返回true,否则false

 

猜你喜欢

转载自blog.csdn.net/qq_32798905/article/details/81293782
今日推荐