| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package course.api;
- /**
- * @author WanJl
- * @version 1.0
- * @title Demo01
- * @description Object类
- * @create 2026/7/28
- */
- public class Demo01 {
- public static void main(String[] args) {
- /*
- java中所有类的父类 就是java.lang.Object类
- 常用的方法:
- 1、equals() 比较两个对象是否相同,一般我们会重写equals方法,让equals方法按照我们的【要求和规则】进行比较。
- Object类中比较的时候 ==是否相等 也就是地址值(哈希码值)是否相等
- 2、hashCode():返回对象的哈希码值,Object返回的都是该对象在内存中的地址
- 3、toString(): 把对象内容按照格式转为字符串,
- Object默认的是转换为 :
- 包名.类名 @ 哈希码值的十六进制
- 一般我们也会重写toString方法,方便我们输出对象的属性变量。
- 在重写equals的时候一般都会一起重写hashCode()方法。
- 如果equals()比较不想等,那么两个对象的hashCode()方法返回的整数值也不要相等。
- 所以为了符合我们开发的业务需求,一般都会为实体类(可以代表一个业务实体的类)重写equals()和 hashCode()方法
- 我们使用IDEA开发,不需要自己手动重写上面的三个方法,只需要使用快捷键生成即可。
- 当然,你要想自己写也可以。
- */
- Person p=new Person("张三",25);
- Person p1=new Person("李四",12);
- System.out.println(p==p1); //false
- System.out.println(p.equals(p1));//false 当重写了equals方法后,比较就返回true
- String s1=new String("张三");
- String s2=new String("张三");
- System.out.println(s1==s2); //false
- System.out.println(s1.equals(s2)); // true
- System.out.println(p.hashCode());
- System.out.println(p1.hashCode());
- Person p2=new Person();
- System.out.println(p2.hashCode());
- System.out.println(p2);
- System.out.println(p);
- System.out.println(p1);
- }
- }
|