Object类及Objects类

Object类

java.lang.Object 类是java语言中的根类,所有类的父类.
  特点:
  如果一个类没有指定父类,那么默认继承Object类(所有类的爹)


在API文档中,Object类里面共有11个方法:
常用的方法:
1. public String toString()
   返回该对象的字符串,默认为: 类全名+@+内存地址值.( 类全名 = 包名 + 类名)
    重写toString()方法:表示需要打印该类的属性.
   重写可以通过idea自动生成或自己重写.

class Student{
    private String name ;
    private int age;
       
       //自动重写
    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

   重写后如何调用:
    *直接调用(使用对象调用)
    *间接调用(打印该对象)
Student stu = new Student();
//直接调用(使用对象调用)
System.out.println(stu.toString());
//间接调用(打印该对象)
System.out.println(stu);


2. public boolean equals(Object obj)
   用来比较2个对象的方法.
   默认比较2个对象的地址.如果不是同一对象,则为false
   重写equals方法:比较2个对象的属性是否相等.(也可以通过idea自动生成,方式一样)
public class Person {
    private String name;
    private int age;

    @Override
    public boolean equals(Object o) {
        //如果对象地址一样,认为相同
        if (this == o)
            return true;
        //如果参数为空,或者类型不一样
        if (o == null || getClass() != o.getClass())
            return false;
        //向下转型
        Person person = (Person) o;
        //要求基本类型相同,并且引用类型交给java.util.Objects类的equals静态方法
        return age == person.age && Objects.equals(name, person.name);
    }
}

3.Clss<?> getClass() 
   返回此Object的运行类(等于获取对象的类)

4.int hashCode()
    返回对象的哈希码值


Objects类

jdk1.7后出现.提供静态方法操作对象.

常用方法:

1.public static boolean equals(Object a,Object b):比较对象a和对象b是否相等.
  *比较2个对象是否相等, 底层依赖对象重写的equals的方法,如果没有重写,则使用Object的equals()

2.public static <T> T requireNonNull(T obj):检查对象obj不为null,如果为null,则抛出空指针异常,否则返回obj本身.
  *可以判断对象是否是空对象.限制参数不能为空.

3.public static boolean nonNull(Object obj):判断对象是否为null,不为返回true,否则返回false

4.public static boolean isNull(Object obj):和nonNull()相反.



  • 10
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值