Java佈爾值Boolean和boolean之間轉換實例用法

1、Boolean和boolean區別

Boolean是類,而boolean是基本數據類型,Boolean 定義出來的是對象,可以當對象調用,boolean 定義出來的是數據類型,隻能當數據類型調用。Boolean是佈爾類型包裝器。這個涉及到jdk5以後的新特性,自動裝箱。

2、自動裝箱和自動拆箱

在許多情況下包裝與解包裝是由編譯器自行完成的(在這種情況下包裝成為裝箱,解包裝稱為拆箱)。

自動裝箱:簡單的理解為將基本數據類型封裝為對象類型。

自動拆箱:簡單的理解為將對象重新轉化為基本數據類型。

例如,

public  static void main (String []args){
    Boolean flag=true;
    if( flag=false){
        System.out.println("true");
    }else{
        System.out.println("false");
        }
}

註意:flag先自動拆箱,賦值為true,

if判斷時,flag自動裝箱,賦值為false,然後因為是在if條件語句之中,又將flag自動拆箱,此時的值為false,條件判斷不成立。最後輸出false。

3、Boolean和boolean之間轉換作用

當調用重載方法時,它會產生不同的效果。因為要調用的方法是由參數的靜態類型決定的,在boolean和Boolean之間轉換時,可以改變被調用的方法。

例如,

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");
    }
}

知識點補充:

boolean是主類型,Boolean是對boolean封裝後產生的一個類型。轉化:

boolean -》Boolean :
boolean b = false;
Boolean B = new Boolean(b);

Boolean -》boolean :
Boolean B = new Boolean(false);
boolean b = B.booleanValue();

到此這篇關於Java佈爾值Boolean和boolean之間轉換實例用法的文章就介紹到這瞭,更多相關Java 佈爾值Boolean和boolean之間轉換內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: