Objetcs类解析

自java7开始,java.util包添加了一个对Object的常用方法操作类,即Objects工具类。主要为提供空指针安全的equals、hash、toString等的相应方法。其类方法概要如下:


//判断两对象是否相等
 public static boolean equals(Object a, Object b);

 //深度比较两对象是否相等,用于数组等形式
 public static boolean deepEquals(Object a, Object b);

 //返回指定对象哈希值,为null返回0
 public static int hashCode(Object o);

//返回指定数组哈希值,为null返回0
 public static int hash(Object... values);

//返回对象的字符串格式,为null返回“null”字符串
 public static String toString(Object o);

//返回对象的字符串形式,若为null,返回指定值
 public static String toString(Object o, String nullDefault);

//用指定比较器比较两对象大小
 public static <T> int compare(T a, T b, Comparator<? super T> c);

//判断对象是否为null
 public static boolean isNull(Object obj);

//判断对象是否不为null
 public static boolean nonNull(Object obj);

这些方法的实现大都调用或依赖其他类,如equals()需要该对象具体实现类实现,toString()调用String.valueof()方法。不过这些方法主要作用在于去除了空指针的处理,提供了避免空指针异常的对常用对象操作的方法。


    public void testObject(){
        String a = null;
        String b= null;

//        System.out.println(a.hashCode());
        System.out.println(Objects.hashCode(a));

//        System.out.println(a.toString());
        System.out.println(Objects.toString(a,"no"));

//        System.out.println(a.equals(b));
        System.out.println(Objects.equals(a,b));

    }

直接比较会有空指针异常的风险,使用Objects方法即可避免。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值