Object類的常見方法總結

2022-01-29 16:18:30 字數 1719 閱讀 2578

♧ object類是比較特殊的類,它是所有類的父類。主要提供了11個方法(jdk 1.8為例):

/**

* native方法,用於返回當前執行時物件的class物件,使用final關鍵字修飾,子類不允許進行重寫

*/public

final

native class<?>getclass();

/*** native方法,用於返回物件的雜湊碼值,主要應用於雜湊表中,比如jdk中的hashmap集合類

*/public

native

inthashcode();

/*** 用於比較兩個物件的記憶體位址是否相同,如果要進行自定義比較,需要對該方法進行重寫,比如string類中的equals方法就是比較字串是否相同

*/public

boolean

equals(object obj)

/*** native方法,用於建立並返回當前物件的乙個拷貝。一般情況下,對於任何物件x,表示式x.clone() != x為true;x.clone().getclass() == x.getclass()為true。object本身沒有重寫cloneable介面,所以不重寫clone方法就進行呼叫的時候,會丟擲異常。

*/protected

native object clone() throws

clonenotsupportedexception;

/*** 返回類的名字@例項的雜湊碼的十六進製制字串

*/public

string tostring()

/*** native方法,並且不能重寫,喚醒乙個在此物件監視器上等待的執行緒(監視器相當於鎖的概念)。如果存在多個執行緒在等待,只會任意喚醒乙個

*/public

final

native

void

notify();

/*** native方法,並且不能重寫,喚醒在此物件監視器上等待的所有執行緒

*/public

final

native

void

notifyall();

/*** native方法,並且不能重寫。暫停執行緒的執行。注意:sleep方法沒有釋放鎖,而wait方法釋放了鎖,timeout是等待時間

*/public

final

native

void wait(long rimeout) throws

interrupteexception;

/*** wait方法過載,多了引數nanos,表示額外的時間(以毫秒為單位,範圍是0-999999)。所以超時的時間需要加上nanos毫秒數

*/public

final

void wait(long timeout, int nanos) throws

interruptedexception

if(nanos < 0 || nanos > 999999)

if(nanos > 0)

wait(timeout);

}

public final void wait() throwsinterrupteexception ;
/**

* 例項被垃圾**器**的時候觸發

*/protected

void finalize() throws throwable {}

LeetCode常見方法總結

數字陣列 字串1.字串反轉string str hello stringbuffer sbuffer newstringbuffer hello string reversestr sbuffer.reverse tostring olleh2.包含子串string str1 abcdefg str...

陣列常見方法總結

var arr 1 2,3 4 var arr1 newarray 1 2,3 4 1,2,3,4 var arr2 newarray 10 empty 10 var arr3 array 1 2,3 4 1,2,3,4 var arr5 array.of 1,2,3,4 1,2,3,4 var a...

Arrays工具類常見方法

排序 sort 查詢 binarysearch 比較 equals 填充 fill 轉列表 aslist 轉字串 tostring 複製 copyof 排序 sort int a sort int a 方法按照數字順序排列指定的陣列。arrays.sort a system.out.println ...