我正在尝试创建一个条件,使变量价格不小于 0,以便使用构造函数有效
这是我的代码
public void setPrice(){
if(price > 0){
System.out.println("Valid value");}
else{
System.out.println("Error");} }
除了 if 语句之外还有其他方法吗?
最佳答案
如果这是内部检查(例如,如果不是正价格,则此时是编程错误),您可以使用 assert
。像这样的东西:
assert price > 0 : "Price must be positive."
如果这是检查外部生成的输入,则异常是更好的选择:
if (price <= 0) { throw new IllegalArgumentException("Price must be positive"); }
这仍然使用if
。通常这些类型的验证方法被放入实用方法中。例如 Guava 有先决条件
:
Preconditions.checkArgument(price > 0, "Price must be positive");
最后还有验证框架,您可以在其中设置对象并检查是否满足所有条件(例如:http://beanvalidation.org/)
关于java - 如何在Java的构造函数中为变量设置条件值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36510943/