这是我的场景:
我必须调用一个方法。设参数为: Parameter1, Parameter2, .. , .. , 参数 N 但是要发送到方法的参数可能会在每种情况下发生变化。
案例1:只发送Parameter1
案例2:发送参数组合
案例3:发送所有参数
在 Java 中实现这一目标的最佳方法是什么?
最佳答案
解决方案取决于问题的答案 - 所有参数都将是同一类型吗?如果是,每个参数都将被同等对待吗?
如果参数类型不同,或者更重要的是不会被同等对待,那么你应该使用方法重载:
public class MyClass
{
public void doSomething(int i)
{
...
}
public void doSomething(int i, String s)
{
...
}
public void doSomething(int i, String s, boolean b)
{
...
}
}
但是,如果每个参数都是相同的类型并且将被以相同的方式处理,那么您可以使用 Java 中的变量 args 功能:
public MyClass
{
public void doSomething(int... integers)
{
for (int i : integers)
{
...
}
}
}
显然,当使用变量 args 时,您可以通过索引访问每个 arg,但我建议您不要这样做,因为在大多数情况下,它暗示您的设计存在问题。同样,如果您在迭代参数时发现自己在进行类型检查,那么您的设计需要审查。
关于Java:向方法发送多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837117/