什么';Java中布尔和布尔的区别是什么?

什么';Java中布尔和布尔的区别是什么?,java,gwt,boolean,Java,Gwt,Boolean,我想了解Java中Boolean和Boolean类型之间的区别,特别是它们与GWT的关系。 我知道方法不受支持,但如果可用,我希望获得更多信息。在Java中,布尔值是文本true或false,而布尔值是对象包装器 很少有理由在布尔值上使用布尔值,除非在需要对象引用的情况下,例如在列表中 Boolean还包含静态方法,您可能已经知道了。我不确定GWT因素是否有影响,但一般来说: boolean是java基本类型,而boolean是封装布尔值的对象/引用类型 在基本体和类似的对象之间进行转换称为装箱

我想了解Java中
Boolean
Boolean
类型之间的区别,特别是它们与GWT的关系。
我知道方法不受支持,但如果可用,我希望获得更多信息。

在Java中,
布尔值
是文本
true
false
,而
布尔值
是对象包装器

很少有理由在
布尔值上使用
布尔值
,除非在需要对象引用的情况下,例如在
列表中


Boolean
还包含静态方法,您可能已经知道了。

我不确定GWT因素是否有影响,但一般来说:

boolean是java基本类型,而boolean是封装布尔值的对象/引用类型

在基本体和类似的对象之间进行转换称为装箱/取消装箱

以下是更多信息:

你为什么这么问

Java有基本类型(int、boolean、float等),任何时候您希望将它们用作对象的实例,它们都被包装在关联的类类型中。例如,布尔值被布尔值、整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型整型

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


希望这会有所帮助。

对于GWT来说,它们在GWT中与java中是一样的。

boolean是一种灵长类,在对象包装器中

它相当简单,对于GWT和Java也是如此:

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

因此,除非您需要NULL(例如从数据库加载字段,并且希望NULL不同于false),否则请坚持使用boolean。

根据GWT JRE仿真文档(),布尔类型支持这些方法: Boolean(布尔)、Boolean(字符串)、parseBoolean(字符串)、toString(布尔)、valueOf(布尔)、valueOf(字符串)、booleanValue()、compareTo(布尔)、equals(对象)、hashCode()、toString()

至于布尔和布尔对象类型之间的区别。布尔对象可以处于3种状态,因此不完全相同。但如果这在GWT(性能方面)中有所不同,我不知道,我的猜测是这并不重要,因为GWT编译器将优化代码,并且大多数操作可以简单地映射到本机javascript布尔操作

但和往常一样:为了确定您必须进行测量(并考虑到这可能因您测量的浏览器/版本而异)


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

因为布尔可以为null,所以它可以用于延迟加载

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

布尔是一种基本类型,而布尔是包装类。这同样适用于(int,Integer),(long,long)等。 包装类将相应的基本数据类型“包装”到该类的对象中

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

isDigit()–确定字符是否为数字。 isLower()–确定字符是否为小写字母。 is Letter()–确定字符是否为字母表


如果我们使用的是与包装类相比的基元类型,那么就不能使用上述方法

我希望布尔值可以被传递给一个方法,布尔值可以被设置,调用方将知道它。。。反之亦然。+1表示方框/取消方框提及:-)。如果我能很好地理解的话,不能在集合中放置原语,如
int
boolean
,是像
boolean
Integer
等包装对象的主要原因(如果不是唯一原因的话)。。。