繁体   English   中英

将可变数量的参数从一个方法中继到具有可变参数的方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM