类型不匹配:无法从null转换为布尔值

时间:2014-09-09 00:13:10

标签: java eclipse

我在Eclipse中遇到了一个奇怪的问题。我试图将布尔值设置为null,但是我收到错误。

Boolean to Null

我该如何解决这个问题,为什么会发生这种情况?

4 个答案:

答案 0 :(得分:4)

布尔值和布尔值是两个不同的东西。你应该尝试布尔(大写B)

布尔值可以是truefalse

布尔值可以是truefalsenull

答案 1 :(得分:1)

boolean等原始类型无法设置为null。将boolean设置为truefalse

答案 2 :(得分:1)

无论其他人在暗示什么,不要在这里使用布尔值。如果你有一个布尔方法,它应该只返回true或false,或者失败,抛出异常。否则你将编写非常脆弱的代码,其他人或你未来的自己可能容易滥用的代码。

在您的代码中,发生这种情况时会发生什么?

if (null) {
   // do something
}

它没有意义。使用boolean,将其设置为true或false,不要使用Boolean。如果你绝对需要3值类型,那么为此创建一个枚举:

public enum ThreeStates {
  TRUE, FALSE, UNSURE
}

答案 3 :(得分:1)

您应该使用布尔值,或者将布尔值设置为默认值(true或false)。您不能将基元设置为NULL(布尔值,整数,长整数等)。