lombok @AllArgsConstructor与使用Objects.requireNonNull()定义我自己的构造函数

时间:2017-09-15 17:03:35

标签: java-7 lombok

我一直在我的代码中使用lombok的@AllArgsConstructor注释来保持代码干净。但我只是注意到我的同事用Java7的Objects.requireNonNull()定义了自己的构造函数,并将参数传递给构造函数。

有人能告诉我这样做的优点(如果有的话)或缺点是什么?

1 个答案:

答案 0 :(得分:3)

默认情况下,使用@AllArgsConstructor不会创建任何null项检查。您可以通过使用null按照here注释您想要为非@NonNull的字段来添加这些字段。

所以在我看来,创建自己的构造函数没有任何好处,除了你能够自定义抛出的异常的消息,这是使用ProjectLombok无法实现的(但你需要它吗? )Lombok的消息只是null字段的名称。