Object类的toString方法和equals方法
Object类的toString方法
public class Person { private String name; private int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
我们直接打印则是地址值
public class Tests { public static void main(String[] args) { Person pe = new Person("张三",11); String string = pe.toString(); System.out.println(string); System.out.println(pe); } }
我们就要重写toString方法
在运行就会打印出你的数据了
看一个类是否重写了toString方法,直接打印这个类对应对象的名字即可
如果没有重写toString方法,那么打印的就是对象的地址值(默认)
如果重写toString方法,那么就按照重写的方式打印
equals方法
指示其他某个对象是否与此对象“相等”。
Object类equals方法的源码:
参数:Object obj:可以传递任意的对象
方法体:
==:比较运算符,返回值的就是一个布尔值 true,false
基本数据类型:比较的是值
引用数据类型:比较的是两个对象的地址值
rhis 为那个对象调用的方法,方法中的this就是那个对象;p1调用的equals方法,所以this就是p1
obj传递过来的参数p2
this==obj --> p1==p2
默认比较的是两个参数的地址值
public class Equals { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); boolean equals = p1.equals(p2); System.out.println(equals); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix