深入了解Java核心类库??Objects类
深入了解Java核心类库??Objects类,博智网带你了解详细信息 。
目录
- 1 Objects
- 1.1 Objects方法
- 1.2 Objects常用方法
- 1.2.1 equals(Object a, Object b)
- 1.2.2 isNull(Object obj)
- 1.2.3 nonNull(Object obj)
- 1.2.4 requireNonNull(T obj)
- 1.3 Objects源码
- 2 区别于Object
- 2.1 Object构造方法
- 2.2 Object其他方法
- 2.2.1 equals(Object obj)
- 2.2.2 toString()
- 2.3 Object源码
- 总结
1 Objects
1.1 Objects方法工具类,常用于检查操作
返回值方法名作用static intcheckFromIndexSize(int fromIndex, int size, int length)检查子范围[ fromIndex ,fromIndex + size)是否在 [0,length)范围界限内 。static intcheckFromToIndex(int fromIndex, int toIndex, int length)检查子范围[ fromIndex ,toIndex)是否在 [0,length)范围界限内static intcheckIndex(int index, int length)检查子范围index是否在 [0,length)范围界限内static intcompare(T a, T b, Comparator<? super T> c)如果参数a,b相同则返回0,否则返回c.compare(a, b)的结果static booleandeepEquals(Object a, Object b)对比a,b参数是否深层次相等(如果a,b为数组,则对比数组的每个参数)static booleanequals(Object a, Object b)对比a,b参数是否相等static inthash(Object… values)为输入值序列生成哈希码static inthashCode(Object o)非空返回哈希码,null则抛出NullPointerExceptionstatic booleanisNull(Object obj)obj参数为null返回truestatic booleannonNull(Object obj)obj参数不为null返回truestatic TrequireNonNull(T obj)检查指定的对象引用不是 null,为null则抛出NullPointerExceptionstatic TrequireNonNull(T obj, String message)检查指定的对象引用不是null,否则抛出自定义的NullPointerExceptionstatic TrequireNonNull(T obj, Supplier messageSupplier)检查指定的对象引用是否为null,如果是,则抛出自定义的NullPointerException。static TrequireNonNullElse(T obj, T defaultObj)如果它是非 null,则返回第一个参数,否则返回非 null第二个参数 。static TrequireNonNullElseGet(T obj, Supplier<? extends T> supplier)如果它是非 null,则返回第一个参数,否则返回非 null值 supplier.get()。static StringtoString(Object o)返回对象的字符串表示形式static StringtoString(Object o, String nullDefault)如果第一个参数不是 null,则返回第一个参数调用 toString的结果,否则返回第二个参数
1.2 Objects常用方法
1.2.1 equals(Object a, Object b)
equals(Object a, Object b)源码:
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
1.2.2 isNull(Object obj)
isNull(Object obj)源码:
public static boolean isNull(Object obj) {
return obj == null;
}
1.2.3 nonNull(Object obj)
nonNull(Object obj)源码:
public static boolean nonNull(Object obj) {
return obj != null;
}
1.2.4 requireNonNull(T obj)
requireNonNull(T obj)源码:
public static T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
1.3 Objects源码package java.util;import jdk.internal.util.Preconditions;import jdk.internal.vm.annotation.ForceInline;import java.util.function.Supplier;public final class Objects {private Objects() {throw new AssertionError("No java.util.Objects instances for you!");}public static boolean equals(Object a, Object b) {return (a == b) || (a != null && a.equals(b));}public static boolean deepEquals(Object a, Object b) {if (a == b)return true;else if (a == null || b == null)return false;elsereturn Arrays.deepEquals0(a, b);}public static int hashCode(Object o) {return o != null ? o.hashCode() : 0;}public static int hash(Object... values) {return Arrays.hashCode(values);}public static String toString(Object o) {return String.valueOf(o);}public static String toString(Object o, String nullDefault) {return (o != null) ? o.toString() : nullDefault;}public static <T> int compare(T a, T b, Comparator<? super T> c) {return (a == b) ? 0 :c.compare(a, b);}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;}public static boolean isNull(Object obj) {return obj == null;}public static boolean nonNull(Object obj) {return obj != null;}public static <T> T requireNonNullElse(T obj, T defaultObj) {return (obj != null) ? obj : requireNonNull(defaultObj, "defaultObj");}public static <T> T requireNonNullElseGet(T obj, Supplier<? extends T> supplier) {return (obj != null) ? obj: requireNonNull(requireNonNull(supplier, "supplier").get(), "supplier.get()");}public static <T> T requireNonNull(T obj, Supplier<String> messageSupplier) {if (obj == null)throw new NullPointerException(messageSupplier == null ?null : messageSupplier.get());return obj;}@ForceInlinepublic staticint checkIndex(int index, int length) {return Preconditions.checkIndex(index, length, null);}public static int checkFromToIndex(int fromIndex, int toIndex, int length) {return Preconditions.checkFromToIndex(fromIndex, toIndex, length, null);}public static int checkFromIndexSize(int fromIndex, int size, int length) {return Preconditions.checkFromIndexSize(fromIndex, size, length, null);}}
- 头腔共鸣简单方法
- 知己是一种什么感情
- 快手直播说话技巧
- 3699起 一图了解AGM G1:零下40度还能跑分 同环境下iPhone索尼全挂
- 央行降息与降准有什么区别 带你了解清楚!
- 想了解空调扇湿帘如何清洗 空调扇湿帘怎样清洗
- 红茶的作用
- 群众路线如何走
- 毛线帽子大了解决方法
- 最不了解自己的人的成语
