Java中布尔和布尔有什么区别?
我想了解Java中boolean
types和boolean
types之间的区别,特别是与GWT相关的types。 我知道方法不支持,但我想要更多的信息,如果可用。
我不确定GWT因素是否有所作为,但总的来说:
布尔是一个java基本types,而布尔是一个包装布尔值的对象/引用types
在图元和对象之间转换就是所谓的装箱/取消装箱。
这里是更多的信息:
http://javaeye.wordpress.com/2008/06/17/boxing-and-unboxing-conversion/
你为什么要问?
http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.html
这对GWT和Java来说相当简单,同样如此:
- 布尔值可以是或不是
- 布尔可以是yes,no或NULL。
所以,除非你需要NULL(比如你从数据库中加载字段,而你希望NULL不同于false),那么就使用布尔值。
在Java中, boolean
是一个字面值true
或false
,而Boolean
是一个Boolean
值的对象包装器。
除了在需要对象引用的情况下,比如在List
,除了Boolean
boolean
以外,很less有理由使用Boolean
boolean
。
Boolean
还包含您可能已经知道的静态方法parseBoolean(String s)
。
Java有原始types(int,boolean,float等),只要你希望用它们作为一个对象的实例,它们被包装在一个关联的Classtypes中。 例如,布尔值被布尔值包裹,inttypes为整数等。
它也有它的好处。 布尔没有帮助方法(因为它不是一个类),但是布尔值。 所以,如果你想把string转换为布尔值,你可以试试Boolean.valueOf(“true”)。
希望有所帮助。
由于布尔值可以为null,因此可以用于延迟加载。
if(hasRoots == null){ calculateRoots(); }
就GWT而言,它们与GWT中的相同。
布尔是一个在对象包装中的主要和布尔值 。
根据GWT JRE仿真文档( http://code.google.com/webtoolkit/doc/1.6/RefJreEmulation.html ),布尔types支持以下方法:Boolean(boolean),Boolean(String),parseBoolean(String ),toString(boolean),valueOf(boolean),valueOf(String),booleanValue(),compareTo(Boolean),equals(Object),hashCode(),toString()
关于布尔和布尔对象types的区别。 布尔对象可以处于3个状态,所以它不完全相同。 但是,如果这在GWT(性能方面)有所不同,我没有线索,我的猜测是,这并不重要,因为GWT编译器将优化代码,大多数操作可以简单地映射到原生的JavaScript布尔操作。
但像往常一样:要确定你必须测量(并考虑到这可能会根据你测量的浏览器/版本而有所不同)。
布尔对象types通常不会经常使用,因为布尔自然types更自然(您不需要始终检查null)。
boolean是一个原始types,而布尔是包装类。它适用于(int,Integer),(long,Long)等。包装类将各自的原始数据types“包装”到该类的对象中。
它们与集合一起使用,因为集合不允许原始types。也可以使用包装类来访问许多可以调用该对象的方法。例如, 字符包装类有像这样的方法:
isDigit() – 确定字符是否是数字。 isLower() – 确定字符是否为小写字母。 是Letter() – 确定字符是否是字母表。
如果我们使用基本types与包装类相比,我们不能使用上述方法。