【发布时间】:2015-08-19 08:38:45
【问题描述】:
我刚刚看到另一个开发人员的代码。
private static boolean _menuNeedsUpdate = false;
private static Boolean _userIsLoggingIn = Boolean.valueOf(false);
我想知道这两个声明之间的区别。谁能解释一下?
【问题讨论】:
-
一个是Java“原始类型”(boolean),另一个是Java“类”(Boolean)。您可以在此处阅读有关“包装类”(例如“布尔”)的更多信息:en.wikipedia.org/wiki/Primitive_wrapper_class
-
主要的实际区别是
Boolean可以设置为null,而boolean不能设置。 -
@SashaSalauyou
I want to know the differences between these two declarations. -
@sᴜʀᴇsʜᴀᴛᴛᴀ 我相信其目的是发现为什么开发人员将第一个变量声明为原始变量,将第二个变量声明为包装器。
-
@sᴜʀᴇsʜᴀᴛᴛᴀ 尽管如此,由于这些变量不是
final,因此对于 OP 了解非原始Boolean的可能null状态可能是有用的信息。