在DTO中初始化文件

Kad*_*LAB 4 java dto

我的一个朋友建议我在DTO中初始化类型为(ArrayList)且仅类型为ArrayList的DTO字段,以避免NullPointerException

public class fooDto {
    private SomeClasse someClasse = new SomeClasse();
    private ArrayList<Bar> bars = new ArrayList();
}
Run Code Online (Sandbox Code Playgroud)

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

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

pok*_*zok 5

使用List,肯定是(尝试将项目放入空列表是很常见的)。但是关于someClasse,这取决于。如果您不惜一切代价避免烦人的null检查,那也许还可以。但是,如果someClasse是可选字段,那么为什么要初始化它呢?另一方面,如果它不应该为null,那么最好抛出此异常。毕竟,很容易找到它的原因,否则,如果它实际上是由某个东西设置为空值,或者是因为某些错误而被清空,那么您将陷入困境。

总结一下,我认为您无需初始化即可获得更多收益。您总是可以使用一些前提条件 轻松检查null值并引发更文明的异常。