【发布时间】:2015-02-21 03:16:31
【问题描述】:
假设我想检查一个方法的所有参数是否为负值。我可以这样做:
public class test{
public test(double a, double b, int c, int d, long e , long f){
// check parameter correctness
checkNegParam(a,"1");
checkNegParam(b,"2");
checkNegParam(c,"3");
checkNegParam(d,"4");
checkNegParam(e,"5");
checkNegParam(f,"6");
}
private void checkNegParam(double number, String order) {
if (number < 0) {
throw new IllegalArgumentException("Argument"+ order +" is negative");
}
}
}
但是,我真的不喜欢这种方法。有没有办法通过它们的顺序编号来引用方法参数?另外,有没有办法在不参考其确切类型的情况下引用原语并检查否定性?
【问题讨论】:
-
不能不使用可变参数方法(那么它就相当于一个数组)。不,如果不检查变量,就无法检查变量是否为负值。
标签: java methods parameters reference arguments