Object的辅助类Objects

来源:互联网 发布:买房需要注意什么 知乎 编辑:程序博客网 时间:2024/06/05 17:41

我们知道Java提供了很多基础类以及他们的辅助类,比如Array与Arrays,Collection与Collections,今天学习一个1.7新加入的一个辅助类Objects。
首先看下Objects的结构
这里写图片描述
- equals(Object a, Object b)
比较两个对象是否相等

return (a == b) || (a != null && a.equals(b));
  • deepEquals(Object a, Object b)
    深度比较是否相等,底层是调用Arrays.equals0
if (a == b)      return true;else if (a == null || b == null)      return false;else      return Arrays.deepEquals0(a, b);
  • hashCode(Object o)
    返回对象的hashCode,为空则返回0
  • hash(Object… values)
    返回多个对象的hash值
public static int hash(Object... values) {    return Arrays.hashCode(values);}
  • toString(Object o) / toString(Object o, String nullDefault)
public static String toString(Object o) {    return String.valueOf(o);}public static String toString(Object o, String nullDefault) {    return (o != null) ? o.toString() : nullDefault;}
  • compare(T a, T b, Comparator c)
public static <T> int compare(T a, T b, Comparator<? super T> c) {   return (a == b) ? 0 :  c.compare(a, b);}
  • requireNonNull(T obj) / requireNonNull(T obj, String message)
    public static <T> T requireNonNull(T obj) {        if (obj == null)            throw new NullPointerException();        return obj;    }        public static <T> T requireNonNull(T obj, String message) {        if (obj == null)            throw new NullPointerException(message);        return obj;    }
0 0
原创粉丝点击