【发布时间】:2021-10-22 08:52:53
【问题描述】:
我需要编写一个验证一个人的年龄的验证。年龄只能是 20、30 或 40。当我创建以下方法并尝试创建一个 30 岁的人对象时,我得到了非法参数异常。任何想法为什么?
private static void validateAge(final int age) {
if (age != 20 || age != 30 || age != 40 ) {
throw new IllegalArgumentException("invalid age " + age);
}
}
【问题讨论】:
-
你需要
AND,而不是OR:if (age != 20 && age != 30 && age != 40 ) throw ...。或者,if (!(age == 20 || age == 30 || age == 40 )) throw ....
标签: java validation constructor