public static void method(Set<?>... sets){}
根据程序流程,使用两组或三组或更多组调用上述方法。 (在编译时不知道)。
有没有办法“动态”构建参数列表? sets 的类型为 Set&lt; ?&gt; []
以下是不富有成效:
Set<Set<Integer>> varargs = new HashSet<Set<Integer>>();
(方法将varargs识别为一组 - >无解决方案)
Set<Integer>[] varargs = new HashSet<Integer>[2];
返回
"Cannot create generic array of HashSet<Integer>"
我想构造一个参数数组,而数组大小和内容在运行时填充。
答案 0 :(得分:3)
Set<Integer>[] varargs = new HashSet[2];
varargs[0] = new HashSet<Integer>() ;
答案 1 :(得分:2)
我相信Set的数组应该这样定义:
Set<Integer>[] varargs = new Set[2];
varargs[0] = new HashSet<Integer>();
varargs[1] = new HashSet<Integer>();