前面介紹了數值包裝類型,因為不管是整數還是小數,它們的運算操作都是類似的,所以只要學會了Integer的用法,其它數值包裝類型即可一併掌握。但是對於布爾類型boolean來說,該類型定義的是“true”和“false”的布爾值,並非123之類的數字,因此還需專門的包裝類型Boolean來包裝bool ...
前面介紹了數值包裝類型,因為不管是整數還是小數,它們的運算操作都是類似的,所以只要學會了Integer的用法,其它數值包裝類型即可一併掌握。但是對於布爾類型boolean來說,該類型定義的是“true”和“false”的布爾值,並非123之類的數字,因此還需專門的包裝類型Boolean來包裝boolean。
Boolean作為包裝類型,與數值包裝類型相似,它也擁有三種變數初始化方式。由於布爾包裝類型的初始化代碼雷同數值包裝類型,這裡不再贅述,具體代碼示例如下:
// 初始化包裝變數的第一種方式:直接用等號賦值 Boolean boolPack = true; // 初始化包裝變數的第二種方式:調用包裝類型的valueOf方法 //Boolean boolPack = Boolean.valueOf(true); // 初始化包裝變數的第三種方式:使用關鍵字new創建新變數 //Boolean boolPack = new Boolean(true); System.out.println("boolPack="+boolPack);
要把布爾包裝變數轉換成基本類型的布爾變數,同樣不能通過強制類型轉換,而是必須調用包裝變數的booleanValue方法,如此方能得到布爾類型的變數值。與數值包裝類型保持一致的還有equals方法,該方法相當於關係運算符“==”,可用於判斷兩個布爾包裝變數是否相等。booleanValue方法和equals方法的調用代碼例子見下:
// 把包裝變數轉換成布爾變數,需要調用包裝變數的booleanValue方法 boolean bool = boolPack.booleanValue(); System.out.println("bool="+bool); // 布爾包裝變數的equals方法相當於關係運算符“==” boolean equalResult = boolPack.equals(false); System.out.println("equalResult="+equalResult);
除此之外,布爾包裝變數之間允許使用邏輯運算符,包括非運算符“!”、與運算符“&”、或運算符“|”、異或運算符“^”。當然,這些邏輯運算符早就用於基本布爾類型,倘若包裝布爾類型只有這點本事,不免拾人牙慧。所以包裝類型另外提供了幾個邏輯方法,像是logicalAnd方法相當於邏輯“與”運算符“&&”,logicalAnd方法相當於邏輯“或”運算符“||”,logicalAnd方法相當於邏輯“異或”運算符“^”。通過方法包裝了常見的邏輯運算操作,這樣Java代碼才更像是常人看得懂的編程語言,而非只有數學家才能看得懂的邏輯式子。下麵是布爾包裝類型使用幾個邏輯方法的代碼例子:
boolean a = true, b = false; // 布爾包裝類型的logicalAnd方法相當於邏輯“與”運算符“&&” boolean andResult = Boolean.logicalAnd(a, b); System.out.println("andResult="+andResult); // 布爾包裝類型的logicalAnd方法相當於邏輯“或”運算符“||” boolean orResult = Boolean.logicalOr(a, b); System.out.println("orResult="+orResult); // 布爾包裝類型的logicalAnd方法相當於邏輯“異或”運算符“^” boolean xorResult = Boolean.logicalXor(a, b); System.out.println("xorResult="+xorResult);
更多Java技術文章參見《Java開發筆記(序)章節目錄》