我的一个 friend 建议我初始化(ArrayList)类型的DTO字段
并且仅在DTO中使用ArrayList类型,这样可以避免NullPointerException

public class fooDto {
    private SomeClasse someClasse = new SomeClasse();
    private ArrayList<Bar> bars = new ArrayList();
}

我们应该做他的吗?这是一个好习惯吗

以其他方式,我们是否应该使用“= new SomeClasse()”?

最佳答案

使用 List ,绝对可以(尝试将项目放入空列表很不常见)。但是关于 someClasse ,这要看情况了。如果您想不惜一切代价避免烦人的null检查,那也许还可以。但是,如果 someClasse 是可选字段,那么为什么要初始化它呢?另一方面,如果它不应该为null,那么最好抛出此异常。毕竟,很容易找到它的原因,否则,如果它实际上是由某些东西设置为空值,或者由于某种错误而被清空,那么您将陷入困境。
总结一下,我认为您无需初始化即可获得更多 yield 。您总是可以使用一些preconditions来轻松检查null值并引发更为文明的异常。

10-04 23:26