1. 程式人生 > 其它 >JAVA核心類庫筆記-java.util.Objects

JAVA核心類庫筆記-java.util.Objects

技術標籤:java

Objects

CheckIndex系列

變數和型別方法描述
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 (不包括)範圍內。
import java.util.Objects;

/**
 * @author 張闊
 */
public class Test {
    public static void main(String[] args) {
        //在0-5中查詢是否存在1,存在,輸出index,不存在則報錯
        System.out.println(Objects.checkIndex(1,5));
        //檢查子範圍:2-4,是否在界:0-6內,在輸出fromindex,超出則報錯
System.out.println(Objects.checkFromToIndex(2,4,6)); //檢查子範圍:3-3+4,是否在界:0-10內,在輸出fromindex,超出則報錯 System.out.println(Objects.checkFromIndexSize(3,4,10)); } }

在這裡插入圖片描述

equal系列

變數和型別方法描述
static booleandeepEquals​(Object a, Object b)返回 true如果引數是深層相等,彼此 false其他。
static booleanequals​(Object a, Object b)返回 true如果引數相等,彼此 false其他。
import java.util.Arrays;
import java.util.Objects;

/**
 * @author 張闊
 */
public class Test {
    public static void main(String[] args) {
        int a = 10,b = 20;
        String A = "abc";
        String B = "abc";
        Object[][] num1 = new Object[10][10];
        Object[][] num2 = new Object[10][10];
        System.out.println(Objects.equals(a,b));
        System.out.println(Objects.equals(A,B));
        System.out.println(Objects.deepEquals(A,B));
        System.out.println(Objects.deepEquals(num1,num2));
    }
}

在這裡插入圖片描述
在這裡插入圖片描述

Object.deepEquals呼叫了Arrays.deepEquals0(),不僅可以比較數值是否相同,而且還可以比較兩個物件中的內容是否相同。

Null系列

變數 和 類 型方法描述
static booleanisNull​(Object obj)返回 true如果提供的參考是 null ,否則返回 false 。
static booleannonNull​(Object obj)返回 true如果提供的參考是非 null否則返回 false 。
static < T > TrequireNonNull​(T obj)檢查指定的物件引用是否不是 null 。
static < T > TrequireNonNull​(T obj, String message)檢查指定的物件引用是否為null ,如果是,則丟擲自定義的NullPointerException 。
static < T > TrequireNonNull​(T obj, Supplier< String> messageSupplier)檢查指定的物件引用是否為null ,如果是,則丟擲自定義的NullPointerException 。
static < T > TrequireNonNullElse​(T obj, T defaultObj)如果它是非 null ,則返回第一個引數,否則返回非 null第二個引數。
static < T > TrequireNonNullElseGet​(T obj, Supplier<? extends T> supplier)如果它是非 null ,則返回第一個引數,否則返回非 null值 supplier.get() 。

ToString

變數 和 類 型方法描述
static StringtoString​(Object o)返回呼叫的結果 toString對於非 null引數, "null"為 null的說法。
static StringtoString​(Object o, String nullDefault)如果第一個引數不是 null ,則返回在第一個引數上呼叫 toString的結果,否則返回第二個引數。
import java.util.Arrays;
import java.util.Objects;

/**
 * @author 張闊
 */
public class Test {
    public static void main(String[] args) {
        String A = "abc";
        String C = null ;
        System.out.println(Objects.toString(A));
        System.out.println(Objects.toString(C));
        System.out.println(Objects.toString(C,A));
        System.out.println(Objects.toString(A,C));

    }
}

在這裡插入圖片描述