java -> equals方法与toString方法

equals方法

equals方法,用于比较两个对象是否相同,它其实就是使用两个对象的内存地址在比较。Object类中的equals方法内部使用的就是==比较运算符(比较内存地址)。

在开发中要比较两个对象是否相同,经常会根据对象中的属性值进行比较,也就是在开发经常需要子类重写equals方法根据对象的属性值进行比较。如下代码演示:

/*

描述人这个类,并定义功能根据年龄判断是否是同龄人

由于要根据指定类的属性进行比较,这时只要覆盖Object中的equals方法

在方法体中根据类的属性值进行比较

*/

class Person extends Object{

int age ;

//复写父类的equals方法,实现自己的比较方式

public boolean equals(Object obj) {

//判断当前调用equals方法的对象和传递进来的对象是否是同一个

if(this == obj){

return true;

}

//判断传递进来的对象是否是Person类型

if(!(obj instanceof Person)){

return false;

}

//将obj向下转型为Perosn引用,访问其属性

Person p = (Person)obj;

return this.age == p.age;

}

}

注意:在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型,在调用对象的属性时,一定要进行类型转换,在转换之前必须进行类型判断。

toString方法

toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型[email protected]+内存地址值。

由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。

class Person extends Object{

int age ;

//根据Person类的属性重写toString方法

public String toString() {

return "Person [age=" + age + "]";

}

}

原文地址:https://www.cnblogs.com/miaoxingren/p/9388624.html

时间: 2024-11-07 22:57:53

java -> equals方法与toString方法的相关文章

【原创】关于java对象需要重写equals方法,hashcode方法,toString方法 ,compareto()方法的说明

在项目开发中,我们都有这样的经历,就是在新增表时,会相应的增加java类,在java类中都存在常见的几个方法,包括:equals(),hashcode(),toString() ,compareto()这四个方法,对于刚刚接触java的初学者来说,对于这块可以没有更深入的了解,只是单纯意义上的复制粘贴,并没有很好的去了解.现在借用这个时间给大家说说这几个方法作用. equals: 比较两个对象相等时使用(需要配合Hashcode一起使用,在后边再进行详细解释)   hashcode: 重写has

覆写toString方法 Java提供的默认toString方法不好用

还有一个问题的是包管理,并没有官方最佳管理方案,在go的世界里存在大量的自制解决方案.go语言的包是没有中央库统一管理的,通过使用go get命令从远程代码库(github.com,goolge code 等)拉取,直接跳过中央版本库的约束,让代码的拉取直接基于源代码版本控制库,开发者间的协同直接依赖于源代码的版本控制.直接去除了库版本的概念.没有明显的包版本标识,感觉还是有点不适应,官方的建议是把外部依赖的代码全部复制到自己可控的源代码库中,进行同意管理.从而做到对依赖包的可控管理. R软件功

JAVA toString方法

在JAVA中,所有的对象都有toString方法: 创建类时没有定义toString方法,输出对象时,会输出对象的哈希值: 它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法 它通常只是为了方便输出: 例如: public class Test2{ String name; int age; public String toString(){ return "我的姓名是:"+name+"\t我的年龄是:"+age; } public s

Java中的toString()方法

Java中的toString()方法 目录 1.????对象的toString方法 2.????基本类型的toString方法 3.????数组的toString方法 4.????参考文献 ? ? 对象的toString方法 在JDK API中对Object对象的toString方法说明如下: toString : public String toString() 返回该对象的字符串表示.通常,toString 方法会返回一个"以文本方式表示"此对象的字符串.结果应是一个简明但易于读懂

Object类的方法,toString的重写.

Object类是所有类的根类. Object类是所有类的父类,位于java.lang包中 数组也是Object类的子类 Object类的常用方法 toString(); equals(); hashCode(); 任何类的对象,都可以调用Object类中的方法,包括数组对象.系统默认存在继承Object类. 例如 public class Example{ public void f(Object obj){ } } public class Test{ public static void m

Object类及toString方法介绍

一.Object类介绍 Object类在JAVA里面是一个比较特殊的类,JAVA只支持单继承,子类只能从一个父类来继承,如果父类又是从另外一个父类继承过来,那他也只能有一个父类,父类再有父类,那也只能有一个,JAVA为了组织这个类组织得比较方便,它提供了一个最根上的类,相当于所有的类都是从这个类继承,这个类就叫Object.所以Object类是所有JAVA类的根基类,是所有JAVA类的老祖宗.所有的类,不管是谁,都是从它继承下来的. 二.toString方法介绍 一个字符串和另外一种类型连接的时

Java记录 -57- Object的equals、hashcode和toString方法

Object的hashCode方法是最基础的,equals和toString方法都间接的使用了hashCode方法. 一般情况下,我们在重写一个类的equals方法时,都会连带重写hashCode方法.IDE工具eclipse给我们提供了快捷的重写equals和hashCode的方法,而不是其中一个,更说明了这个两个方法一般都会一块进行重写. Object的equals方法: public boolean equals(Object obj) {     return (this == obj)

Java:验证在类继承过程中equals()、 hashcode()、toString()方法的使用

以下通过实际例子对类创建过程汇中常用的equals().hashcode().toString()方法进行展示,三个方法的创建过程具有通用性,在项目中可直接改写. //通过超类Employee和其子类Manager ,验证在类继承过程中equals().hashcode().toString()方法的使用.package equals;public class EqualsTest{    public static void main(String[] args){        Employ

匿名对象,内部类,包的声明与访问,访问修饰符,代码块,java的API equals toString方法整理

匿名对象  匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量. public class Person{ public void eat(){ System.out.println(); } }创建一个普通对象person p=new person();创建一个匿名对象new person(); 匿名对象的特点: 1创建匿名对象直接使用,没有变量名. new Person().eat() //eat方法被一个没有名字的Person对象调用了. 2,匿名对象在没有指定其