我在Eclipse中遇到了一个奇怪的问题。我试图将布尔值设置为null,但是我收到错误。
我该如何解决这个问题,为什么会发生这种情况?
答案 0 :(得分:4)
布尔值和布尔值是两个不同的东西。你应该尝试布尔(大写B)
布尔值可以是true
或false
布尔值可以是true
,false
或null
。
答案 1 :(得分:1)
boolean
等原始类型无法设置为null
。将boolean
设置为true
或false
。
答案 2 :(得分:1)
无论其他人在暗示什么,不要在这里使用布尔值。如果你有一个布尔方法,它应该只返回true或false,或者失败,抛出异常。否则你将编写非常脆弱的代码,其他人或你未来的自己可能容易滥用的代码。
在您的代码中,发生这种情况时会发生什么?
if (null) {
// do something
}
它没有意义。使用boolean,将其设置为true或false,不要使用Boolean。如果你绝对需要3值类型,那么为此创建一个枚举:
public enum ThreeStates {
TRUE, FALSE, UNSURE
}
答案 3 :(得分:1)
您应该使用布尔值,或者将布尔值设置为默认值(true或false)。您不能将基元设置为NULL(布尔值,整数,长整数等)。