Java中的布尔值和布尔值有什么区别?

时间:2009-08-18 16:54:32

标签: java gwt boolean

我想了解Java中Booleanboolean类型之间的区别,特别是它们与GWT有关。 我知道不支持这些方法,但如果可用,我想要更多信息。

8 个答案:

答案 0 :(得分:102)

它非常简单,对于GWT和Java也是如此:

  • 布尔可以是是或否
  • 布尔值可以是yes,no或NULL。

因此,除非您需要NULL(例如,您从数据库加载字段,并且希望NULL与false不同),然后坚持使用布尔值。

答案 1 :(得分:34)

我不确定GWT因素是否有所不同,但总的来说:

布尔是一种java基本类型,而布尔是一个包装布尔值的对象/引用类型

在这种原语和对象之间进行转换称为装箱/拆箱。

以下是更多信息:

http://javaeye.wordpress.com/2008/06/17/boxing-and-unboxing-conversion/

你问为什么要问?

http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html

http://www.javapractices.com/topic/TopicAction.do?Id=197

答案 2 :(得分:10)

在Java中,boolean是文字truefalse,而Booleanboolean的对象包装。

除了需要对象引用的情况外,很少有理由在Boolean上使用boolean,例如在List中。

Boolean还包含您可能已经知道的静态方法parseBoolean(String s)

答案 3 :(得分:6)

因为Boolean可以为null,所以它可以用于延迟加载。

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

答案 4 :(得分:5)

Java具有原始类型(int,boolean,float等),并且只要您希望将它们用作对象的实例,它们就会被包含在关联的类类型中。例如,布尔值被Booleans包装,int作为Integer等。

它也有它的好处。 boolean没有辅助方法(因为它不是类),但布尔方法没有。因此,如果您想将字符串转换为布尔值,可以尝试使用Boolean.valueOf(“true”)。

希望有所帮助。

答案 5 :(得分:1)

就GWT而言,它们在GWT中与java中的相同 布尔是对象包装器中的主要和 Boolean

答案 6 :(得分:1)

根据GWT JRE仿真文档(http://code.google.com/webtoolkit/doc/1.6/RefJreEmulation.html),这些方法在布尔类型上受支持: Boolean(boolean),Boolean(String),parseBoolean(String),toString(boolean),valueOf(boolean),valueOf(String),booleanValue(),compareTo(Boolean),equals(Object),hashCode(),toString( )

关于布尔对象类型和布尔对象类型之间的区别。布尔对象可以处于3种状态,因此它们并不完全相同。但是,如果这对GWT(性能方面)产生影响我没有线索,我的猜测是它并不重要,因为GWT编译器将优化代码,大多数操作可以简单地映射到本机javascript布尔操作。 / p>

但与往常一样:确定您必须衡量(并考虑到这可能因您测量的浏览器/版本而有所不同)。

布尔对象类型通常不经常使用,因为布尔本机类型更自然(您不需要一直检查null)。

答案 7 :(得分:1)

boolean是一种基本类型,而Boolean是包装类.Same适用于(int,Integer),(long,Long)等。 包装类将相应的原始数据类型“包装”到该类的对象中。

它们与集合一起使用,因为集合不允许使用基本类型。使用包装类可以访问许多可以在该对象上调用的方法。例如。字符包装器类具有以下方法:

isDigit() - 确定字符是否为数字。 isLower() - 确定字符是否为小写字母。 是Letter() - 确定该字符是否为字母。

如果我们使用基本类型与包装类相比,我们不能使用上述方法。