JAVA核心類庫筆記-java.util.Objects
阿新 • • 發佈:2021-02-07
技術標籤:java
Objects
CheckIndex系列
變數和型別 | 方法 | 描述 |
---|---|---|
static int | checkFromIndexSize(int fromIndex, int size, int length) | 檢查是否在子範圍從 fromIndex (包括)到 fromIndex + size (不包括)是範圍界限內 0 (包括)到 length (不包括)。 |
static int | checkFromToIndex(int fromIndex, int toIndex, int length) | 檢查是否在子範圍從 fromIndex (包括)到 toIndex (不包括)是範圍界限內 0 (包括)到 length (不包括)。 |
static int | checkIndex(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 boolean | deepEquals(Object a, Object b) | 返回 true如果引數是深層相等,彼此 false其他。 |
static boolean | equals(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 boolean | isNull(Object obj) | 返回 true如果提供的參考是 null ,否則返回 false 。 |
static boolean | nonNull(Object obj) | 返回 true如果提供的參考是非 null否則返回 false 。 |
static < T > T | requireNonNull(T obj) | 檢查指定的物件引用是否不是 null 。 |
static < T > T | requireNonNull(T obj, String message) | 檢查指定的物件引用是否為null ,如果是,則丟擲自定義的NullPointerException 。 |
static < T > T | requireNonNull(T obj, Supplier< String> messageSupplier) | 檢查指定的物件引用是否為null ,如果是,則丟擲自定義的NullPointerException 。 |
static < T > T | requireNonNullElse(T obj, T defaultObj) | 如果它是非 null ,則返回第一個引數,否則返回非 null第二個引數。 |
static < T > T | requireNonNullElseGet(T obj, Supplier<? extends T> supplier) | 如果它是非 null ,則返回第一個引數,否則返回非 null值 supplier.get() 。 |
ToString
變數 和 類 型 | 方法 | 描述 |
---|---|---|
static String | toString(Object o) | 返回呼叫的結果 toString對於非 null引數, "null"為 null的說法。 |
static String | toString(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));
}
}