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

我想了解Java中booleantypes和booleantypes之间的区别,特别是与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

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

这对GWT和Java来说相当简单,同样如此:

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

所以,除非你需要NULL(比如你从数据库中加载字段,而你希望NULL不同于false),那么就使用布尔值。

在Java中, boolean是一个字面值truefalse ,而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与包装类相比,我们不能使用上述方法。