一,Object类概述:
Object是类层次结构的根,每个类都可以将Object作为超类,所有类都直接或者间接的继承自该类
构造方法:pulic Object()
在面向对象中,子类要访问父类的无参构造方法,是因为它们的的顶级父类只有无参构造方法
二,toSting()方法
1,toString()方法在Object类中定义,其返回值是String类型,返回类名和他的引用地址在进行与其他类型数据的连接操作时,自动调用tostring()方法。
2,作用是返回对象的字符串字符串表现形式。建议所有子类重写此方法,这样返回的字符串更利于阅读。
3

public static void main(String[] args) {
Date now = new Date();
System.out.println("now="+now);//相当于
System.out.println("now="+now.toString()); }

可以根据需要在用户自定义类型中重写tostring()方法

如tostring类重写了tostring()方法,返回字符串的值

public static void main(String[] args) {
String s=new String();
s="hello";
System.out.println(s);//相当于
System.out.println(s.toString()); }

基本类型数据转换为String类型时,调用对应包装类的tostring()方法

public static void main(String[] args) {

int a =10;

System.out.println("a="+a);

}

equals方法

1、在Object类中,equals方法比较的是两个对象的地址值,地址值相同返回true,否则返回false,以下是其源码:

public boolean equals(Object obj) {

return (this == obj);

}

“==”运算符的使用:对于基本数据类型,其比较的是对象的数值;对于引用数据类型,其比较的是对象的地址值。

在重写equals方法的最后使用了Objects.equals()函数,下面对其进行补充介绍:
Objects类是JDK7之后添加的一个工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是空指针安全的,其中Objects.equals()就是为了防止Object.equals()中容易出现空指针异常的现象
下面是Objects.equals()的源码:

public static boolean equals(Object a, Object b) {

return (a == b) || (a != null && a.equals(b));

}

Object类和toString方法 --和Object类的equals方法的更多相关文章

  1. ArrayList类中的contains()方法底层依赖的是equals()方法

    ArrayList类中的contains()方法底层依赖的是equals()方法.若集合中的元素是自定义对象,则应该重写该类父类Object的equals()方法,否则对象永远都不相同(因为都是new ...

  2. 深入解析字符串的比较方法:“==”操作符;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。

    1:要判断2个字符串变量是否相等,最高效的方法是看它们是否指向相同的内存地址.前面使用RefernceEquals方法来比较.如果2个变量指向的是不同的内存地址,那么就需要逐字符的比较2个字符串的变量 ...

  3. 浅析Object基类提供的Equals方法

    当我们去查看object.cs源代码文件的时候,会发现object基类提供了三种判断相等性的方法.弄清楚每种方法存在的原因,也就是具体解决了什么问题,对我们理解.net判断对象相等性的逻辑很有帮助,下 ...

  4. 类的访问权限和Object

    1.访问控制权限 1.1.访问控制权限都有哪些? 4个. private 私有 public 公开 protected 受保护 默认 1.2.以上的4个访问控制权限:控制的范围是什么? private ...

  5. Scala中class、object、case class、case object区别

    /** class.object.case class.case object区别 * * class 类似Java中的class: * object Scala不能定义静态成员,用定义单例对象代之: ...

  6. .net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串

    1.继承(1)创建子类对象的时候,在子类对象中会为子类对象的字段开辟空间,也会为父类的所有字段开辟空间,只不过父类私有的成员访问不到(2)子类从父类继承父类所有的非私有成员,但是父类的所有字段也会创建 ...

  7. Effective Java 第三版——10. 重写equals方法时遵守通用约定

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  8. hashCode()方法和equals方法的重要性。

    在Object中有两个重要的方法:hashCode()和equals(Object obj)方法,并且当你按ctrl+alt+s时会有Generator hashCode()和equals().我们不 ...

  9. 覆盖equals方法时请遵守通用约定

    覆盖equals方法时请遵守通用约定   覆盖equals方法看起来很简单,但是有许多覆盖方式会导致错误,并且后果很严重.最容易避免这种类问题的方法就是不覆盖equals方法,在这种情况下,类的每个实 ...

  10. Day09_43_Set集合_HashSet_02(HashCode方法 与 equals方法 )

    HashSet - 向Hash表中添加元素的过程? 1. 先调用将要被存储的值key的HashCode方法得出Hash值,如果该Hash值在现有Hash表中不存在,那么直接加入元素. 2. 如果该Ha ...

随机推荐

  1. 使用 Prometheus Alertmanager 模块发送 Doris 异常信息至钉钉报警群

    基础环境 1.Prometheus 版本:2.22.2 下载地址: https://github.com/prometheus/prometheus/releases/download/v2.22.2 ...

  2. C++的三种继承方式详解以及区别

    目录 目录 C++的三种继承方式详解以及区别 前言 一.public继承 二.protected继承 三.private继承 四.三者区别 五.总结 后话 C++的三种继承方式详解以及区别 前言 我发 ...

  3. C# iText 7 切分PDF,处理PDF页面大小

    一.itext 我要使用itext做一个pdf的页面大小一致性处理,然后再根据数据切分出需要的pdf. iText的官网有关于它的介绍,https://itextpdf.com/ 然后在官网可以查找a ...

  4. react-router@6 版本初体验

    最近使用了一下react-router@6 版本感觉有很大的改动,记录一下. React Router v6 makes heavy use of React hooks, so you'll nee ...

  5. [Istio是什么?] 还不知道你就out了,一文40分钟快速理解

    @ 目录 前言 Istio是什么? 服务网格是什么? 应用场景 为什么使用Istio? 流量管理介绍 istio架构 Envoy Sidecar Istiod 虚拟服务(VirtualService) ...

  6. vue - Vue脚手架(终结篇)/ vue动画

    几天的内容不是很多,因为我们脚手架的学习告一段落了,也是为了跟明天开始的内容有一个区分. 明天将会有一个非常重要的内容来了,各位,vue中的ajax他来了,这个绝对是重量级,有点兴奋! 十一.TODO ...

  7. 【软件构造】Mutable类型与Immutable类型

    [软件构造]Mutable类型与Immutable类型 1.前言 在软件构造这门课中,对mutable类型和immutable类型的深入理解,有助于后续ADT.可维护性.可复用性的学习,因此我们有必要 ...

  8. git 本地项目关联新repo

    git initgit remote add origin repo-url git pull origin master --allow-unrelated-histories git add . ...

  9. 203. Remove Linked List Elements - LeetCode

    Question 203. Remove Linked List Elements Solution 题目大意:从链表中删除给定的数 思路:遍历链表,如果该节点的值等于给的数就删除该节点,注意首节点 ...

  10. 「VMware校园挑战赛」小V的和式

    Description 给定 \(n,m\) ,求 \[\sum\limits_{x_1=1}^{n}\sum\limits_{x_2=1}^{n}\sum\limits_{y_1=1}^{m}\su ...