1. 程式人生 > 其它 >Java常用類-Objec和Objects

Java常用類-Objec和Objects

Java常用類之Object類

基本介紹

包地址:java.lang.Object

Class Object是類Object結構的根。 每個class都有Object作為超類。 所有物件(包括陣列)都繼承這個類。

構造方法

public Object();

方法摘要

使用範圍 修飾符 返回型別 方法 介紹
物件操作 protected Object clone() 建立並返回此物件的副本
boolean equals(Object obj) 比較物件是否與傳入物件相同
protected void finalize() 當垃圾收集確定不再有對該物件的引用時,垃圾收集器在物件上呼叫該物件。
Class <?> getClass() 返回此物件的執行時類
int hashCode() 返回物件的雜湊碼值
String toString() 返回物件的字串表示形式
執行緒操作 void notify() 喚醒正在等待物件監視器的單個執行緒
void notifyAll() 喚醒正在等待物件監視器的所有執行緒
void wait() 導致當前執行緒等待,直到另一個執行緒呼叫該物件的 notify()方法或 notifyAll()方法。
void wait(long timeout) 導致當前執行緒等待,直到另一個執行緒呼叫 notify()方法或該物件的 notifyAll()方法,或者指定的時間已過。
void wait(long timeout , int nanos) 導致當前執行緒等待,直到另一個執行緒呼叫該物件的 notify()方法或 notifyAll()方法,或者某些其他執行緒中斷當前執行緒,或一定量的實時時間。

Objects類

包地址:java.util.Objects

Objects類是物件的工具類,裡面的方法都是用來操作物件的。

方法摘要

使用範圍 修飾符 返回型別 方法 介紹
物件操作 static int compare(T a, T b) 比較物件a和物件b,如果ab相等,返回0,如果不相等呼叫c的compare方法
boolean equals(Object a , Object b) 比較物件a和物件b,使用的是第一引數的equls方法,兩引數有一個為null返回false,如果都是null,則返回true
boolean deepEquals(Object a, Object b) 比較兩個物件是否深度相等,使用Arrays.deepEquals0(a, b)
int hash(Object... values) 得到一列物件的hash code,實際呼叫的是Arrays.hashCode(values)
int hashCode(Object o) 得到一個物件的hash code,如果引數為null,返回0
boolean isNull(Object obj) 如果物件是null,返回true,否則返回false
boolean nonNull(Object obj) 如果物件是null,返回false,否則返回true
< T > T requireNonNull(T obj) 判斷物件是不是null,如果不是null返回物件本身,如果是null則丟擲空指標異常
< T > T requireNonNull(T obj, String message) 判斷物件是不是null,如果不是null返回物件本身,如果是null則丟擲空指標異常,並把第二個引數寫在異常資訊中
< T > T requireNonNull(T obj, Supplier messageSupplier) 判斷物件是不是null,如果不是null返回物件本身,如果是null則丟擲自定義異常
Sting toString(Object o) 呼叫物件的toString方法,如果引數是null,返回字串null
Sting toString(Object o, String nullDefault) 呼叫物件的toString方法,如果引數是null,返回第二個引數