第二或第三。
因为它告诉您API的用户到底出了什么问题。
对于较低的冗长程度,请使用
Validate.notNull(obj, message)commons-lang。因此,您的构造函数将如下所示:
public SomeClass(Object one, Object two) { Validate.notNull(one, "one can't be null"); Validate.notNull(two, "two can't be null"); ...}带有相同详细程度注释的将支票放入设置器中也是可以接受的。如果设置者还具有保持对象一致性的作用,则也可以选择第三个。



