java--Object类--toString() 和equals()方法
package OBJECT_API;
import java.util.Objects;
public class object_api {
private String name;
private String sex;
private int age;
public object_api(){}
public object_api(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
@Override
public String toString() {
return "object_api{" +
"name=" + name + +
", sex=" + sex + +
", age=" + age +
};
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
object_api that = (object_api) o;
return age == that.age && Objects.equals(name, that.name) && Objects.equals(sex, that.sex);
//这里采用了Objects的equals方法,相较于Object的equals更安全
//Object:如果传入null,则会报错
//objects:传入null,不会报错,视情况返回false或true
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
test类:
package OBJECT_API;
// 1.toString(),重写后输出对象的值
// 2.equals(),重写后比较两个对象的值是否相同,相同返回true,不同返回false
public class test_toString {
public static void main(String[] args) {
object_api sc = new object_api("小王","男",12);
object_api sk = new object_api("小王","男",12);
/* System.out.println(sc.toString());返回地址OBJECT_API.object_api@1b6d3586
当重写了toString方法后,就可以返回对象的值,重写代码见object_api类中15-22排
*/
System.out.println(sc.toString());
// 输出:object_api{name=小王, sex=男, age=12}
/*
System.out.println(sc.equals(sk));//equals()不重写使效果和(sc == sk)一样,比较地址,返回false
System.out.println(sc == sk);//false
*/
System.out.println(sc.equals(sk));//equals()重写代码见object_api类中26-32排
// 输出:true
}
}
ps.学习记录,有错请指正
重写代码为IDEA自动生成
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
Tomcat安装与配置教程(图文教学)
