【发布时间】:2010-11-20 16:16:15
【问题描述】:
我想了解 Java 中 Boolean 和 boolean 类型之间的区别,特别是它们与 GWT 相关的区别。
我知道这些方法不受支持,但如果可用,我想了解更多信息。
【问题讨论】:
我想了解 Java 中 Boolean 和 boolean 类型之间的区别,特别是它们与 GWT 相关的区别。
我知道这些方法不受支持,但如果可用,我想了解更多信息。
【问题讨论】:
这对于 GWT 和 Java 来说相当简单:
因此,除非您需要 NULL(例如,您从数据库中加载字段,并且您希望 NULL 与 false 不同),否则请坚持使用布尔值。
【讨论】:
我不确定 GWT 因素是否会产生影响,但总的来说:
boolean 是 java 原始类型,而 Boolean 是包装布尔值的对象/引用类型
像这样在基元和对象之间进行转换称为装箱/拆箱。
这里有更多信息:
http://javaeye.wordpress.com/2008/06/17/boxing-and-unboxing-conversion/
你为什么问盒子?
http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html
【讨论】:
int 或boolean)放入集合中,是Boolean、Integer 等包装对象的主要(如果不是唯一原因) ...
在 Java 中,boolean 是文字 true 或 false,而 Boolean 是 boolean 的对象包装器。
很少有理由使用Boolean 而不是boolean,除非需要对象引用,例如List。
Boolean 还包含静态方法parseBoolean(String s),您可能已经知道了。
【讨论】:
因为Boolean可以为null,所以可以用于延迟加载。
if(hasRoots == null){
calculateRoots();
}
【讨论】:
Java 具有原始类型(int、boolean、float 等),并且无论何时您希望将它们用作对象的实例,它们都被包装在关联的 Class 类型中。例如,布尔值被布尔值包裹,int 被包裹为 Integer 等等。
它也有它的好处。 boolean 没有辅助方法(因为它不是一个类),但 Boolean 有。因此,如果您想将字符串转换为布尔值,您可以尝试 Boolean.valueOf("true")。
希望对您有所帮助。
【讨论】:
就 GWT 而言,它们在 GWT 中与在 java 中的相同。
boolean 是原语,而 Boolean 在对象包装器中。
【讨论】:
根据 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( )
关于 boolean 和 Boolean 对象类型之间的区别。布尔对象可以处于 3 种状态,因此并不完全相同。但是,如果这对 GWT 有影响(性能方面)我不知道,我的猜测是这并不重要,因为 GWT 编译器会优化代码,并且大多数操作可以简单地映射到本机 javascript 布尔操作。
但像往常一样:确定您必须测量(并考虑到这可能会因您测量的浏览器/版本而异)。
布尔对象类型通常不经常使用,因为布尔原生类型更自然(您不需要一直检查 null)。
【讨论】:
boolean 是原始类型,而 Boolean 是包装类。同样适用于 (int,Integer),(long,Long) 等。 包装类将各自的原始数据类型“包装”到该类的对象中。
它们与集合一起使用,因为集合不允许使用原始类型。此外,使用包装类可以让您访问可以在该对象上调用的许多方法。例如。字符包装类有如下方法:
isDigit() – 判断字符是否为数字。 isLower() – 判断字符是否为小写字母。 is Letter() – 判断字符是否为字母。
如果我们使用原始类型而不是包装类,我们就不能使用上述方法。
【讨论】: