深刻解析Java編程中的boolean對象的應用。本站提示廣大學習愛好者:(深刻解析Java編程中的boolean對象的應用)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻解析Java編程中的boolean對象的應用正文
只能是true或false兩個值之一的變量就是布爾(boolean)類型變量,true和false是布爾型直接量。你可以用上面的語句界說一個稱號為state的布爾型變量:
boolean state=true
該語句用true值對變量state停止了初始化。你也能夠應用賦值語句為一個boolean型變量賦值。例如,語句,
state=false
設置變量state的值為false.
今朝,我們除為布爾變量賦值外,還不克不及停止更多的操作,但正像你鄙人一章中將要看到的,布爾型變量在法式做剖斷時,特殊是在我們可以或許用表達式發生一個boolean型成果時顯得加倍有效。
有幾個組合布爾型數值的運算符,包含:布爾與(AND),布爾或(oR)和布爾非(它們分離對應&&、11、!),和發生boolean型成果的比擬運算符。與其如今籠統地進修它們,到不如我們推延到下一章,在那邊,我們可以在演習中看到若何運用它們轉變法式的履行次序。
有一點你須要留意,boolean型變量分歧於其他的根本數據類型,它不克不及被轉換成任何其他的根本類型,其他的根本類型也不克不及被轉換成boolean類型。
Java生成Boolean對象的三種辦法之比擬
Java生成Boolean對象的第一種罕見辦法是經由過程new操作符
Boolean boolean1 = new Boolean(1==1);
第二種是經由過程靜態辦法valueOf
Boolean boolean1 = Boolean.valueOf(1==1);
第三種是JDK1.5以後的主動裝箱
Boolean boolean1 = 1==1;
這三種辦法有甚麼差別呢?
先看一段代碼
Boolean[] boolean1 = new Boolean[100]; Boolean[] boolean2 = new Boolean[100]; Boolean[] boolean3 = new Boolean[100]; for (int i = 0; i < 100;i++){ boolean1[i] = Boolean.valueOf(1==1); } for (int i = 0;i < 100;i++){ boolean2[i] = new Boolean(1==1); } for (int i = 0; i < 100;i++){ boolean3[i] = 1==1; } System.out.println("valueOf: " + String.valueOf(boolean1[1] == boolean1[2])); System.out.println("new Boolean: " + String.valueOf(boolean2[1] == boolean2[2])); System.out.println("auto wrap: " + String.valueOf(boolean3[1] == boolean3[2]));
輸入成果是:
valueOf: true new Boolean: false auto wrap: true
為何會如許呢?
緣由就在於用new創立的Boolean對象是赓續的新創立一個實例對象,而valueOf則是前往Boolean類裡的靜態成員變量,不會發生年夜量雷同的實例變量。主動包裝和valueOf相似.
現實上jdk文檔也是建議用valueOf取代new方法來創立Boolean類對象。