是否有任何方法使我的方法采取许多输入变量,但没有超载...可能是我的问题不明确...我的意思是那样:
如果我有这种方法
public void setValues (int val1,int val2 ,String val3){
}
我想要的是:以多种方式使用此方法
setValues (val1,val2)
或
setValues (val3)
为什么我想在超载的情况下做到这一点:因为如果我有10个变量的例子我想添加很多重载方法,但我不喜欢...
有没有办法帮助我检查变量或以相同的方法跳过它..
感谢您的帮助。
答案 0 :(得分:2)
您可以使用varargs future来部分解决您的问题http://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html 如果您具有相同类型的参数,则可以执行此操作。
但它要求您传递与最后一个参数类型相同的变量。它并不完全是你想要的,但它是一个小的解决方法。
答案 1 :(得分:0)
没有方法重载,没有办法在Java中做到这一点。一种替代方法是将那些相关的参数分组并使它们成为一个类的字段。然后,该方法将该类的实例作为参数,并且哪些参数是可选的,然后将为null。