boolean
参数的 public 方法。
如果某个 public 方法(API 的一部分)不是 setter,则向该方法添加 boolean
参数几乎始终是不良做法。
采用这种方法读取代码时,如果不查看源代码或文档,会很难理解 boolean
的含义。
该问题也称为布尔陷阱。
boolean
参数通常可以替换为 enum
。
示例:
// 警告: 在查看对此方法
// 的调用时,很难理解
// 布尔参数的含义
public boolean setPermission(File f,
int access,
boolean enable,
boolean ownerOnly) {
// ...
}
使用仅报告具有多个布尔参数的方法选项,仅在一个方法包含多个布尔参数时发出警告。