这是我的方案:Java:发送多个参数到方法
我必须调用一个方法。让参数为: 参数1,参数2,..,..,参数N 但是发送到该方法的参数可能会在每种情况下发生变化。
案例1:只有参数1被送到
案例2:参数的组合被发送
案例3:所有参数发送
什么是最好的方式在Java中实现这一点?
这是我的方案:Java:发送多个参数到方法
我必须调用一个方法。让参数为: 参数1,参数2,..,..,参数N 但是发送到该方法的参数可能会在每种情况下发生变化。
案例1:只有参数1被送到
案例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)
{
...
}
}
然而,如果每个参数的类型相同,将在被处理以同样的方式,那么你可以使用变量ARGS功能中的Java:
public MyClass
{
public void doSomething(int... integers)
{
for (int i : integers)
{
...
}
}
}
显然使用可变ARGS你可以访问每一个通过其索引精氨酸,但我会建议对本作中,它暗示了一个问题,大多数情况下,当你的设计。同样,如果您在迭代参数时发现自己正在进行类型检查,那么您的设计需要审查。
所有参数都不是相同的类型,我们不知道将传递的参数数量。 –
我应该更清楚 - 可以将所有参数作为相同的超类型进行处理,而不需要进行类型检查?类型检查不是世界的尽头,但在大多数情况下是代码味道不明。 –
所有参数都不是相同的类型,我们不知道将传递的参数数量。 示例: 方法(字符串a1,字符串a2,字符串b1,字符串b2,..,..和一些常见的int,字符串参数) 其中a1&a2是一个集合,b1&b2另一个集合等等。但我们不知道必须通过的套数。 –