【Objects】java.util.Objects工具类总结

java.util.Objects工具类总结

注意是Objects不是Object!

认识

Objects是java.util包下的类,它是java.lang.Object的子类;

  • 包含static实用程序方法,用于操作对象或在操作前检查某些条件
    主要是检查操作
  • 这些实用程序包括null或null方法,用于计算对象的哈希代码,返回对象的字符串,比较两个对象,以及检查索引或子范围值是否超出范围。
    以下结果正确吗?
public class Demo2 {
    public static void main(String[] args) {
        String s1 = null;
        String s2 = "123";
//        System.out.println(s1.equals(s2));//造成空指针异常
        System.out.println(Objects.equals(s1,s2));//false

        System.out.println(Objects.isNull(s1));//true

//        System.out.println(Objects.requireNonNull(s1));//NullPointerException
        System.out.println(Objects.requireNonNull(s1,"哈哈,空指针"));//NullPointerException: 哈哈,空指针
    }

}

常用方法

  1. equals​(Object a, Object b)
    如果参数相等返回 true,其他false。
public static boolean equals(Object a, Object b) {
        return (a == b) || (a != null && a.equals(b));
    }
  • 三目运算返回结果,如果a与b的地址相等,他们就相等,就不会执行后面的;如果a与b地址不同,则判断a是否为null!
  1. isNull​(Object obj)
    如果提供的参考是 null 返回true,否则是false
public static boolean isNull(Object obj) {
        return obj == null;
    }

直接返回obj是否等于null;
3. nonNull​(Object obj)
返回 true如果提供的参考是非 null否则返回 false

public static boolean nonNull(Object obj) {
        return obj != null;
    }
  1. requireNonNull​(T obj)
    检查指定的对象引用是否不是 null
  public static <T> T requireNonNull(T obj) {
        if (obj == null)
            throw new NullPointerException();
        return obj;
    }

如果obj为null,则抛出空指针异常;反之,就将该对象返回!

  1. requireNonNull​(T obj, String message)
    检查指定的对象引用是否为null ,如果是,则抛出自定义的NullPointerException的message信息 。
 public static <T> T requireNonNull(T obj, String message) {
        if (obj == null)
            throw new NullPointerException(message);
        return obj;
    }
  1. toString​(Object o, String nullDefault)
    如果第一个参数不是 null ,则返回在第一个参数上调用 toString的结果,否则返回第二个参数。
  2. checkIndex​(int index, int length)
    检查 index是否在 0 (含)到 length (不包括)范围内。
  3. checkFromIndexSize​(int fromIndex, int size, int length)
    检查是否在子范围从 fromIndex (包括)到 fromIndex + size (不包括)是范围界限内 0 (包括)到 length (不包括)。
  4. checkFromToIndex​(int fromIndex, int toIndex, int length)
    检查是否在子范围从 fromIndex (包括)到 toIndex (不包括)是范围界限内 0 (包括)到 length (不包括)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Itfuture03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值