Java 我是否可以在构造函数中使用if语句来控制其参数取值的范围,而不会引发异常?

Java 我是否可以在构造函数中使用if语句来控制其参数取值的范围,而不会引发异常?,java,constructor,priority-queue,Java,Constructor,Priority Queue,我想编写一个构造函数,它接受一个名为capacity的int参数(我正在尝试创建一个优先级队列类),并且我需要将capacity参数锁定为纯正值。我可以在构造函数中使用if语句吗 public PriorityQueue(int capacity){ this.capacity=capacity; int[] array=new int[capacity]; } 如果要强制此类的用户仅使用正值,唯一的方法是异常。否则,不管怎样,都会构造对象 public PriorityQue

我想编写一个构造函数,它接受一个名为capacity的int参数(我正在尝试创建一个优先级队列类),并且我需要将capacity参数锁定为纯正值。我可以在构造函数中使用if语句吗

public PriorityQueue(int capacity){
    this.capacity=capacity;
    int[] array=new int[capacity];
}
如果要强制此类的用户仅使用正值,唯一的方法是异常。否则,不管怎样,都会构造对象

public PriorityQueue(int capacity){
    if(capacity < 0)
        throw new IllegalArgumentException("Negative value \"capacity\"");
    this.capacity=capacity;
    int[] array=new int[capacity];
}
public PriorityQueue(整数容量){
如果(容量<0)
抛出新的IllegalArgumentException(“负值\“容量\”);
这个。容量=容量;
int[]数组=新的int[容量];
}

是的,你可以!如果收到<1,则抛出异常。是的,您可以-但重要的是,在询问堆栈溢出之前,您可以自己尝试。谢谢您,我会尝试。我可以推荐您吗?我没有想过引发异常,因为我是java sr的新手