使用可变数量的参数从一个方法中继可变数量的参数

时间:2014-08-20 06:12:36

标签: java

假设我有一个公共函数a()和一个私有方法b()。两者都有可变数量的参数。 a()需要将其参数传递给私有函数b(),然后私有函数c()将可变数量的参数转换为EnumSet并将其传递给public void a(MyEnum ... enums){ // what code do I need here, to pass the parameters to b()? } private void b(MyEnum ... enums){ for (int i = 0; i < enums.length; i++){ // make EnumSet and pass it to c() } } private void c(EnumSet<MyEnum> enumSet){ }

a()

我如何编码{{1}}?

2 个答案:

答案 0 :(得分:1)

b(enums);

此外,您可以完全跳过b并将for循环移至方法a

答案 1 :(得分:1)

arbitrary number of arguments(称为 varargs )是一种不手动创建数组的方法。在这样的方法里面它是一个数组。

你可以将这样的数组作为参数传递给vararg方法:

public void a(MyEnum ... enums) {
    b(enums);
}
private void b(MyEnum ... enums) { ... }