2009-08-18 103 views

回答

9

在Java中,一個boolean是文字truefalse,而Booleanboolean對象包裝。

有很少的理由時,需要一個對象引用,例如在List使用Booleanboolean的情況除外。

Boolean還包含您可能已經知道的靜態方法parseBoolean(String s)

5

Java有基本類型(int,布爾型,浮點型等),任何時候你想使用它們,因爲它們被包裹在一個相關的類類型的對象的實例。例如,布爾值被布爾值包裹,int類型爲整數等。

它也有它的好處。布爾沒有幫助方法(因爲它不是一個類),但布爾值。所以,如果你想將一個字符串轉換爲布爾值,你可以試試Boolean.valueOf(「true」)。

希望有所幫助。

1

就GWT而言,它們在GWT中與在java中相同。
布爾值是一個基本元素並且Boolean在一個對象包裝中。

92

這是相當簡單,同爲GWT和Java:

  • 布爾可以爲yes或no
  • 布爾可以是贊成,反對或NULL。

所以,除非你需要NULL(例如你從數據庫加載字段,並且你希望NULL不同於false),那麼就堅持布爾值。

+6

不錯......快速而骯髒! =) – 2010-06-02 14:41:24

+18

沒有什麼骯髒的。 – rustyshelf 2010-06-03 06:07:05

+0

Tnx這麼多!如此有用和明確的exlaination – AndreaNobili 2016-02-10 10:33:38

1

按照GWT JRE仿真文檔(http://code.google.com/webtoolkit/doc/1.6/RefJreEmulation.html)這些方法被支撐在布爾類型: 布爾(布爾值),布爾(字符串),parseBoolean(字符串),的toString(布爾值),的valueOf(布爾值),的valueOf (String),booleanValue(),compareTo(Boolean),equals(Object),hashCode(),toString()

關於布爾和布爾對象類型之間的區別。布爾對象可以處於3種狀態,所以它不完全相同。但是,如果這在GWT(性能方面)方面有所改變,我沒有任何線索,我猜測它並不重要,因爲GWT編譯器會優化代碼,而大多數操作可以簡單地映射到本地JavaScript布爾操作。

但像往常一樣:要確定您必須測量(並考慮到這可能因您測量的瀏覽器/版本而異)。

布爾對象類型通常不會經常使用,因爲布爾自然類型更自然(您不需要始終檢查null)。

5

由於布爾值可以爲null,因此可用於延遲加載。

if(hasRoots == null){ 
    calculateRoots(); 
} 
1

布爾是原始類型,而布爾是包裝class.Same申請(INT,整數),(長,龍)等 包裝器類「包裝」的各個原始數據類型到的一個對象類。

它們與集合一起使用,因爲集合不允許使用基本類型。還使用包裝類可以訪問許多可以在該對象上調用的方法。例如,字符包裝類具有如下方法:

isDigit() - 確定字符是否是數字。 isLower() - 確定字符是否爲小寫字母。 是Letter() - 確定字符是否是字母表。

如果我們使用基本類型與包裝類相比,我們不能使用上述方法。

相關問題