Java布爾值Boolean和boolean之間轉(zhuǎn)換實(shí)例用法
1、Boolean和boolean區(qū)別
Boolean是類,而boolean是基本數(shù)據(jù)類型,Boolean 定義出來的是對象,可以當(dāng)對象調(diào)用,boolean 定義出來的是數(shù)據(jù)類型,只能當(dāng)數(shù)據(jù)類型調(diào)用。Boolean是布爾類型包裝器。這個(gè)涉及到j(luò)dk5以后的新特性,自動(dòng)裝箱。
2、自動(dòng)裝箱和自動(dòng)拆箱
在許多情況下包裝與解包裝是由編譯器自行完成的(在這種情況下包裝成為裝箱,解包裝稱為拆箱)。
自動(dòng)裝箱:簡單的理解為將基本數(shù)據(jù)類型封裝為對象類型。
自動(dòng)拆箱:簡單的理解為將對象重新轉(zhuǎn)化為基本數(shù)據(jù)類型。
例如,
public static void main (String []args){ Boolean flag=true; if( flag=false){System.out.println('true'); }else{System.out.println('false');}}
注意:flag先自動(dòng)拆箱,賦值為true,
if判斷時(shí),flag自動(dòng)裝箱,賦值為false,然后因?yàn)槭窃趇f條件語句之中,又將flag自動(dòng)拆箱,此時(shí)的值為false,條件判斷不成立。最后輸出false。
3、Boolean和boolean之間轉(zhuǎn)換作用
當(dāng)調(diào)用重載方法時(shí),它會(huì)產(chǎn)生不同的效果。因?yàn)橐{(diào)用的方法是由參數(shù)的靜態(tài)類型決定的,在boolean和Boolean之間轉(zhuǎn)換時(shí),可以改變被調(diào)用的方法。
例如,
class Ideone { public static void main (String[] args) {final Boolean b = true;foo((boolean) b);foo(b); } public static void foo(boolean b) {System.out.println('primitive'); } public static void foo(Boolean b) {System.out.println('wrapper'); }}
知識(shí)點(diǎn)補(bǔ)充:
boolean是主類型,Boolean是對boolean封裝后產(chǎn)生的一個(gè)類型。轉(zhuǎn)化:
boolean -》Boolean :boolean b = false;Boolean B = new Boolean(b);Boolean -》boolean :Boolean B = new Boolean(false);boolean b = B.booleanValue();
到此這篇關(guān)于Java布爾值Boolean和boolean之間轉(zhuǎn)換實(shí)例用法的文章就介紹到這了,更多相關(guān)Java 布爾值Boolean和boolean之間轉(zhuǎn)換內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. js實(shí)現(xiàn)跳一跳小游戲2. JVM之class文件結(jié)構(gòu)3. js實(shí)現(xiàn)貪吃蛇小游戲(加墻)4. XMLDOM對象方法:對象屬性5. python對批量WAV音頻進(jìn)行等長分割的方法實(shí)現(xiàn)6. Html5播放器實(shí)現(xiàn)倍速播放的方法示例7. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解8. CSS linear-gradient屬性案例詳解9. Ajax報(bào)錯(cuò)400的參考解決辦法10. Python中Anaconda3 安裝gdal庫的方法
