1.Object类的toString的方法是输出对象的地址
重写toString方法输出对象内容
重写toString方法
输出对象的内容而不是地址
*/
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", sex=" + sex +
'}';
}
2.Object类的equals方法是比较对象的地址
重写equals方法比较独享的内容是否相等
@Override
public boolean equals(Object o) {
//1.判断是否是同一个对象比较,如果是返回true
if (this == o) return true;
//2.如果o是空直接返回false 3. 判断两个对象是否同一类的对象
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age &&
sex == student.sex &&
Objects.equals(name, student.name);
}
调用
package com.yuyang.d9_api_object;
public class Test1 {
public static void main(String[] args) {
/*
object里面toString方法的使用
*/
Student s=new Student("小胖鱼",18,'男');
String rs=s.toString();
//直接输出对象变量,toString可以默认不写
// System.out.println(s);
System.out.println(rs);
/*
object里面equals方法的使用
*/
Student s1=new Student("小鱼",23,'男');
Student s2=new Student("小鱼",23,'男');
System.out.println(s1.equals(s2));
}
}
Student{name='小胖鱼', age=18, sex=男}
true
Process finished with exit code 0
本文介绍了如何在Java中重写Object类的toString与equals方法,以实现更友好的对象内容展示及有效的对象内容比较。通过具体示例,展示了如何自定义Student类中的这两个方法,从而使得对象的表示更加直观,同时提供了更合理的对象相等性的判断标准。
488

被折叠的 条评论
为什么被折叠?



