亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

java filter函數(shù)的用法 object轉(zhuǎn)long問(wèn)題


java filter函數(shù)的用法 object轉(zhuǎn)long問(wèn)題

文章插圖
Object簡(jiǎn)介Object類(lèi)是所有類(lèi)的父類(lèi),即每個(gè)類(lèi)都直接或間接繼承自該類(lèi) 。所以一個(gè)Object類(lèi)型的變量可以引用任何對(duì)象,不論是類(lèi)實(shí)例還是數(shù)組 。
在不明確給出父類(lèi)的情況下,Java會(huì)自動(dòng)把Object作為要定義類(lèi)的父類(lèi) 。
Object類(lèi)有一個(gè)默認(rèn)構(gòu)造方法public Object(),在構(gòu)造子類(lèi)實(shí)例時(shí),都會(huì)先調(diào)用這個(gè)默認(rèn)構(gòu)造方法 。
Object類(lèi)共13個(gè)方法
如圖可知,Object類(lèi)有12個(gè)成員方法,按照用途可以分為以下幾種
構(gòu)造函數(shù)hashCode和equale函數(shù)用來(lái)判斷對(duì)象是否相同,
wait(),wait(long),wait(long,int),notify(),notifyAll() 多線程場(chǎng)景使用
toString()和getClass, 打印類(lèi)信息/獲取類(lèi)信息
clone() 克隆對(duì)象
finalize()用于在垃圾回收
常用方法預(yù)覽
Object()
? 默認(rèn)構(gòu)造方法
clone()
protected native Object clone() throws CloneNotSupportedException;創(chuàng)建并返回此對(duì)象的一個(gè)副本(復(fù)制對(duì)象),用于實(shí)現(xiàn)對(duì)象的淺復(fù)制,只有實(shí)現(xiàn)了Cloneable接口才可以調(diào)用該方法,否則拋出CloneNotSupportedException異常 。
主要是JAVA里除了8種基本類(lèi)型傳參數(shù)是值傳遞,其他的類(lèi)對(duì)象傳參數(shù)都是引用傳遞,我們有時(shí)候不希望在方法里將參數(shù)改變,這是就需要在類(lèi)中重寫(xiě)clone方法
equals(Object obj)
用于比較兩個(gè)對(duì)象是否相等,底層用==實(shí)現(xiàn),比較的還是內(nèi)存地址,子類(lèi)想要比較兩個(gè)對(duì)象是否相等需要重寫(xiě)equals()方法
finalize()
? 當(dāng)垃圾回收器確定不存在對(duì)該對(duì)象的更多引用時(shí),由對(duì)象的垃圾回收器調(diào)用此方法,該方法用于釋放資源 。很少使用
Java允許在類(lèi)中定義一個(gè)名為finalize()的方法 。它的工作原理是:一旦垃圾回收器準(zhǔn)備好釋放對(duì)象占用的存儲(chǔ)空間,將首先調(diào)用其finalize()方法 。并且在下一次垃圾回收動(dòng)作發(fā)生時(shí),才會(huì)真正回收對(duì)象占用的內(nèi)存 。
getClass()
? 返回一個(gè)對(duì)象的運(yùn)行時(shí)類(lèi),獲得類(lèi)型的信息 。返回一個(gè)Class對(duì)象,經(jīng)常用于java反射機(jī)制
hashcode()
? 該方法將對(duì)象的內(nèi)存地址進(jìn)行哈希運(yùn)算,返回一個(gè)int類(lèi)型的哈希值(返回該對(duì)象的哈希碼值) 。
功能:是相等對(duì)象擁有相同的哈希碼,盡量讓不等的對(duì)象具有不同的哈希碼 。該方法用于哈希查找,可以減少在查找中使用equals的次數(shù),重寫(xiě)了equals方法一般都要重寫(xiě)hashCode方法 。這個(gè)方法在一些具有哈希功能的Collection中用到 。
一般必須滿(mǎn)足obj1.equals(obj2)==true 。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就滿(mǎn)足equals 。不過(guò)為了提高效率,應(yīng)該盡量使上面兩個(gè)條件接近等價(jià) 。
如果不重寫(xiě)hashcode(),在HashSet中添加兩個(gè)equals的對(duì)象,會(huì)將兩個(gè)對(duì)象都加入進(jìn)去 。
notify()
該方法喚醒在該對(duì)象上等待的某個(gè)線程 。
notifyAll()
該方法喚醒在該對(duì)象上等待的所有線程 。
toString()
? 返回該對(duì)象的字符串表示 。以便用戶(hù)能夠獲得一些有關(guān)對(duì)象狀態(tài)的基本信息 。簡(jiǎn)單說(shuō)就是利用字符串來(lái)表示對(duì)象 。不重寫(xiě)toString()返回的是對(duì)象的類(lèi)路徑 + @ + 內(nèi)存地址hash后的16進(jìn)制字符串(如下所示源碼)
public String toString() {
return getClass().getName() + “@” + Integer.toHexString(hashCode());
}
wait()
? 導(dǎo)致當(dāng)前的線程等待,直到其他線程調(diào)用此對(duì)象的notify()方法或notifyAll()方法 。
wait(long timeout)
wait方法就是使當(dāng)前線程等待該對(duì)象的鎖,當(dāng)前線程必須是該對(duì)象的擁有者,也就是具有該對(duì)象的鎖 。wait()方法一直等待,直到獲得鎖或者被中斷 。wait(long timeout)設(shè)定一個(gè)超時(shí)間隔,如果在規(guī)定時(shí)間內(nèi)沒(méi)有獲得鎖就返回 。


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專(zhuān)業(yè)人士給予相關(guān)指導(dǎo)!

「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: