本文共 1655 字,大约阅读时间需要 5 分钟。
文章目录
简介
JDK7新增Objects类,此类包含static实用程序方法,用于操作对象或在操作前检查某些条件。
objects类具备如下方法:
常用方法详解
equals
public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); }
Objects.equals方法做了非空判断,因此不会抛出异常,是空指针安全的。
两个参数相等,则返回true;否则,返回false。
deepEquals
public static boolean deepEquals(Object a, Object b) { if (a == b) return true; else if (a == null || b == null) return false; else return Arrays.deepEquals0a, b); }
如果两个都是null值的字符串或者数组相比较,返回true。
如果两个参数都是数组,则使用Arrays.deepEquals来确定相等性。参数数组循环时,可以递归调用deepEquals来比较,知道出现不同的元素方结束循环,否则使用第一个参数的equals方法确定是否相等。
hashCode
public static int hashCode(Object o) { return o != null ? o.hashCode() : 0; }
用以判断引用o所指的对象是否为null,如果不为null,则返回其hashCOde方法执行结果,否则返回0
hash
public static int hash(Object... values) { return Arrays.hashCode(values); }
为输入值生成哈希码,它将所有的输入值都放到一个数组,然后调用Arrays.hashCode(Object[])方法来实现。
警告:当提供的参数是单个对象的引用时,返回值不等于该对象引用的散列码。该值可以通过调用hashCode(Object)来调用
toString
public static String toString(Object o) { return String.valueOf(o); }
返回指定对象的字符串表示形式。如果参数为null,则返回字符串"null"
compare
public staticint compare(T a, T b, Comparator c) { return (a == b) ? 0 : c.compare(a, b); }
如果参数相同则返回0,否则返回c.compare(a, b) 。如果两个参数都是null则返回0。
注意:若其中一个参数为null ,是否会抛出空指针异常NullPointerException取决于排序策略,如果有的话,则由Comparator来决定空值null
isNUll 和 nonNull
public static boolean isNull(Object obj) { return obj == null; }
判空方法,如果参数为null则返回true,否则返回false
public static boolean nonNull(Object obj) { return obj != null; }
判断非空方法,若参数非空返回true,否则返回false
转载地址:https://blog.csdn.net/weixin_43454088/article/details/116208410 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!