我想了解Java中Boolean
和boolean
类型之间的区别,特别是它们与GWT有关。
我知道不支持这些方法,但如果可用,我想要更多信息。
答案 0 :(得分:102)
它非常简单,对于GWT和Java也是如此:
因此,除非您需要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
答案 2 :(得分:10)
在Java中,boolean
是文字true
或false
,而Boolean
是boolean
的对象包装。
除了需要对象引用的情况外,很少有理由在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() - 确定该字符是否为字母。
如果我们使用基本类型与包装类相比,我们不能使用上述方法。