[英]Relay variable number of arguments from one method to another with variable number of arguments
假设我有一个公共函数a()
和一个私有方法b()
。 两者都有可变数量的参数。 a()
需要将其参数传递给私有函数b()
,然后私有函数将可变数量的参数转换为EnumSet并将其传递给c()
。
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()
如何编码a()
?
b(enums);
同样,您可以一起跳过b
并将for
循环移到方法a
。
任意数量的参数 (称为varargs )是一种不手动创建数组的方法。 在这种方法内部是一个数组。
您可以将这样的数组作为参数传递给vararg方法:
public void a(MyEnum ... enums) {
b(enums);
}
private void b(MyEnum ... enums) { ... }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.