Boolean 類型的值不是只有 true 和 false 兩種嗎一膨?為什么他定義的屬性出現(xiàn)了 null 值溅潜?
我們應(yīng)該先明確一點(diǎn)谒获,boolean 是 Java 的基本數(shù)據(jù)類型法瑟,Boolean 是 Java 的一個(gè)類掩完。boolean 類型會(huì)在“賦零值”階段給屬性賦 false。而 Boolean 是一個(gè)類,會(huì)在“賦零值”階段給對(duì)象賦 null登舞。
如果是靜態(tài)屬性,會(huì)在類加載時(shí)被賦值悬荣。如果是普通類屬性菠秒,會(huì)在實(shí)例化對(duì)象時(shí)賦值。這兩點(diǎn)可以了解一下“類加載機(jī)制”和“對(duì)象創(chuàng)建過(guò)程”氯迂。
類加載機(jī)制:
加載:根據(jù)類的全名獲取類的二進(jìn)制字節(jié)流践叠,將類加載進(jìn)內(nèi)存并在堆中生成一個(gè)代表這個(gè)類的 Class 對(duì)象,作為方法區(qū)數(shù)據(jù)的訪問(wèn)入口
驗(yàn)證:驗(yàn)證 class 文件中的字節(jié)流是否符合 JVM 規(guī)范
準(zhǔn)備:在方法區(qū)中為類的靜態(tài)屬性分配內(nèi)存嚼蚀,并初始化默認(rèn)值(boolean 的默認(rèn)值是 false禁灼,Boolean 的默認(rèn)值是 null)
解析:將常量池中的符號(hào)引用轉(zhuǎn)化為直接引用,可以理解為對(duì)象引用轉(zhuǎn)成指針
初始化:真正開始執(zhí)行類中的代碼驰坊,靜態(tài)屬性賦值和靜態(tài)塊
對(duì)象實(shí)例化過(guò)程:
檢查類是否已經(jīng)被加載(雙親委派)
給對(duì)象分配內(nèi)存空間(指針碰撞)
零值初始化(false / null)
設(shè)置對(duì)象頭(對(duì)象分代年齡等信息)
執(zhí)行 <init> 方法(屬性初始化匾二,語(yǔ)句塊和構(gòu)造方法)
所以說(shuō),Boolean只是被加載了拳芙,還沒(méi)有被實(shí)例化察藐,在被實(shí)例化之前并沒(méi)有分配內(nèi)存,所以是 null
接下來(lái)我們可以看看 Boolean 的屬性和構(gòu)造方法舟扎,了解一下它如何包裝 boolean
// final boolean類型的屬性分飞,通過(guò)構(gòu)造方法注入值
private final boolean value;
// 構(gòu)造方法 Boolean a = true 實(shí)際上就是調(diào)用這個(gè)方法
public Boolean(boolean value) {
this.value = value;
}
// 構(gòu)造方法
public Boolean(String s) {
this(parseBoolean(s));
}
對(duì)于其他的屬性和方法,可以自行查看都比較簡(jiǎn)單
關(guān)于 Boolean 使用過(guò)程中有一個(gè)風(fēng)險(xiǎn)點(diǎn)睹限,阿里巴巴開發(fā)手冊(cè)也寫得非常好
ali
簡(jiǎn)單來(lái)說(shuō)就是譬猫,boolean 定義的屬性一定要有值讯檐,如果 Boolean 對(duì)象值為 null,解包過(guò)程中就會(huì)出現(xiàn)NPE染服。
想象一種場(chǎng)景:你女票問(wèn)你:你愛(ài)我嗎别洪?但你沒(méi)聽清。如果你是 Boolean 就會(huì)回答柳刮,我沒(méi)聽清(null)挖垛,如果你是 boolean 就會(huì)回答,*** (NPE)
之后就會(huì)有個(gè)狗頭被打爆秉颗。哈哈哈痢毒!
學(xué)無(wú)止境,我永遠(yuǎn)都是學(xué)習(xí)者 蚕甥,我還是一個(gè)新手 哪替,經(jīng)驗(yàn)有限 ,世界這么忙 菇怀,我剛好有空寫下了自己的心得 凭舶,希望對(duì)大家有所幫助 ,緣分讓我們一起爱沟,你們的贊賞,支持库快,關(guān)注就是對(duì)我莫大的支持,哪里寫的不好的钥顽,也歡迎大家評(píng)論留言交流,希望大家多多指點(diǎn)靠汁,我將不勝感激蜂大,也希望我們共同進(jìn)步。
只有自己深深痛過(guò)蝶怔,才能體會(huì)別人的痛奶浦,于是難得自我們反省。學(xué)習(xí)也是如此踢星,只有我們自我反省思考才會(huì)進(jìn)步澳叉,正所謂吾日三省吾身就是這樣的道理。我們一定要努力學(xué)好java語(yǔ)言沐悦。
讀書破萬(wàn)卷成洗,下筆如有神,我們只有把這些該學(xué)的學(xué)好藏否,才會(huì)實(shí)現(xiàn)自己的進(jìn)步瓶殃,這些都是非常重要的內(nèi)容,在javascript中都是重點(diǎn)副签,我們一定要牢記遥椿。
咱們活著不能與草木同腐基矮,不能醉生夢(mèng)死,枉度人生冠场,要有所作為家浇。學(xué)習(xí)就是這樣。
Java 中 Boolean 和 boolean的區(qū)別
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門娃肿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)咕缎,“玉大人,你說(shuō)我怎么就攤上這事料扰∑竞溃” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵晒杈,是天一觀的道長(zhǎng)嫂伞。 經(jīng)常有香客問(wèn)我,道長(zhǎng)拯钻,這世上最難降的妖魔是什么帖努? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮粪般,結(jié)果婚禮上拼余,老公的妹妹穿的比我還像新娘。我一直安慰自己亩歹,他們只是感情好匙监,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著小作,像睡著了一般亭姥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上躲惰,一...
- 那天致份,我揣著相機(jī)與錄音,去河邊找鬼础拨。 笑死氮块,一個(gè)胖子當(dāng)著我的面吹牛绍载,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播滔蝉,決...
- 文/蒼蘭香墨 我猛地睜開眼击儡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了蝠引?” 一聲冷哼從身側(cè)響起阳谍,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎螃概,沒(méi)想到半個(gè)月后矫夯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡吊洼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年训貌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冒窍。...
- 正文 年R本政府宣布谬莹,位于F島的核電站檩奠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏附帽。R本人自食惡果不足惜笆凌,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望士葫。 院中可真熱鬧,春花似錦送悔、人聲如沸慢显。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)荚藻。三九已至,卻和暖如春洁段,著一層夾襖步出監(jiān)牢的瞬間应狱,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像岸蜗,于是被迫代替她去往敵國(guó)和親尉咕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 1.bool是基本值類型璃岳,Boolean是對(duì)象年缎。2.bool是Boolean的別名,bool是C#中的铃慷,Boole...
- 一犁柜、Java中==和equals的區(qū)別 1.== 1)"=="如果比較的是基本數(shù)據(jù)類型(byte short ch...
- 在java中: ==是運(yùn)算符赁温,用于比較兩個(gè)變量是否相等坛怪。 equals,是Objec類的方法股囊,用于比較兩個(gè)對(duì)象是否...
- 前提一:關(guān)于==和equals 對(duì)于==袜匿,基本類型比較的是字面量即值,引用類型比較的是堆地址稚疹; 對(duì)于equals方...
- 自旋鎖和互斥鎖的區(qū)別 java中l(wèi)ock Syntronized區(qū)別無(wú)鎖編程以及CAS