lombok @AllArgsConstructor vs使用Objects.requireNonNull()定义我自己的构造函数
问题描述:
我一直在我的代码中使用lombok的@AllArgsConstructor
注释来保持代码清洁。但我只注意到我的同事用传递给构造函数的参数定义了他们自己的构造函数与Java7的Objects.requireNonNull()
。lombok @AllArgsConstructor vs使用Objects.requireNonNull()定义我自己的构造函数
任何人都可以告诉我这样做的优点(如果有)或缺点吗?
答
使用@AllArgsConstructor
默认情况下不会创建任何null
检查。您可以添加这些注释您想要非null
与@NonNull
如所述的here。
所以在我看来,创建自己的构造函数没有任何好处,除了您可以自定义抛出异常的消息,这不可能使用ProjectLombok
(但是您需要它吗?)Lombok的消息只是null
的字段名称。
谢谢,我想这是有道理的。我试图看看是否有任何“强有力”的理由不使用龙目岛。猜猜我现在会坚持与龙目岛。 –