这个验证对象是否传递了 null 是 OK 还是我应该使用一种 equals() 方法?
public void addCard(Card card) throws IllegalArgumentException {
if (card != null){
cardList.add(card);
} else {
throw new IllegalArgumentException();
}
}
最佳答案
没错,但就我个人而言,我会以相反的方式构建它。在方法开始时验证参数是很常见的,然后在知道它们是正确的情况下将它们用于方法的其余部分:
public void addCard(Card card) {
if (card == null) {
throw new IllegalArgumentException("Attempt to add null card");
}
cardList.add(card);
}
预先进行所有参数测试的好处是,如果传递给您的参数无效,您将在任何副作用发生之前抛出异常 - 而不是在方法进行到一半时,这可能使对象处于无效状态。当然在这种情况下没关系,但我赞成这里的一致性 :)
请注意,无需声明 IllegalArgumentException
- 它是 RuntimeException
的子类,这意味着它未经检查(您无需声明)。
关于java - object != null 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4036854/