2012-01-03 9 views
0
public static void method(Set<?>... sets){} 

プログラムの流れによって、上記の方法は2つのセットまたは3つ以上のセットで呼び出されます。 (コンパイル時には知られていません)。実行時に作成された可変パラメータリスト。

"オンザフライ"で引数リストを作成する方法はありますか? ? []は以下の

実りませんた>タイプのSet <ある セット:

Set<Set<Integer>> varargs = new HashSet<Set<Integer>>(); 

(方法はただ1セットとして可変引数を認識します - >なしソリューション)

Set<Integer>[] varargs = new HashSet<Integer>[2]; 

返信

"Cannot create generic array of HashSet<Integer>" 

私は配列のサイズと内容が実行時に満たされている間、引数の配列を構築したいと思います。

答えて

3
Set<Integer>[] varargs = new HashSet[2]; 
varargs[0] = new HashSet<Integer>() ; 
+1

ありがとう!この作品 – panny

2

私はセットの配列は次のように定義されるべきと考えている。

Set<Integer>[] varargs = new Set[2]; 
varargs[0] = new HashSet<Integer>(); 
varargs[1] = new HashSet<Integer>(); 
+0

はそれはとても明らかだった知りませんでした、ありがとうございます! – panny

関連する問題