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安装与配置教程(图文教学)