我有一个场景,在某些情况下,某些在类级别声明的最终变量是可选的。
这意味着我有不同的构造函数。其中一些必须将成员变量保留为空值。
由于我已将变量声明为 final,因此我不得不在构造函数中初始化这些变量。所以我必须在构造函数中添加 var = null; 语句。
但是明确地将变量分配给 null 被认为是一种不好的做法,像 PMD 这样的工具将其报告为违规行为。 (PMD 中有争议的规则。但不想将其关闭,因为我不希望在我的代码的其他区域实现空赋值)
实现此目标的任何其他建议或良好做法?
最佳答案
您可以使用构造函数链接,将 null 传递给您的实例中未使用的值。 (如果我们讨论继承,您可以使用 super 构造函数,或者在同一个类中使用不同的构造函数。) 毕竟我会重新考虑你的类的设计,例如将可选部分提取到不同的类。
关于java - Java 类中的最终可选成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20189149/