为什么有些方法使用布尔类而不是基本类型?

时间:2014-05-12 16:59:38

标签: java methods parameters boolean boxing

我正在浏览Android框架文档,有一件事引起了我的注意。 setIs24HourView TimePicker方法使用包装类 Boolean,而不是基本类型boolean

我只是想知道,有没有特定的理由在那里使用包装类?它可以带来任何好处,还是只是一个开发人员意外按下 Shift 有点太长了?可能/应该报告为一个错误(实际上是一个非常小的错误,因为自动装箱,但仍然是一个)?

1 个答案:

答案 0 :(得分:2)

一般情况下,当您的API允许"未知"时,您希望使用Boolean代替boolean状态,您可以允许传递null

然而,在这种情况下,没有"未知"州,因为the corresponding getter is declared with the primitive boolean

public boolean is24HourView ()

我肯定会将此报告为错误。