2011-08-05 8 views
0

タイプ変数LinkedList<Object[]>[]を作成する構文は何ですか?LinkedListを作成するには<Object[]> []?

私が試してみました:

public LinkedList<Object[]>[] myList = new LinkedList<Object[]>()[]; 
をしかし、これは動作しません。

+4

私は、一般的な設計上の問題をかぐhttp://stackoverflow.com/questions/3853411/array-type-in​​-generics – Atreys

+2

を参照してください。あなたはjavabeansを聞いたことがありますか? – BalusC

+0

これはAndroidアプリです。 :D @Atreys、役に立つリンクをありがとう。 – pqn

答えて

2

Javaでは、ジェネリックアレイを作成できません。ただし、ArrayListクラスまたはListインターフェイスを実装する任意のクラスでこれを行うことができます。

List<LinkedList<Object[]>> myList = new ArrayList<LinkedList<Object[]>>(); 
1

宣言LinkedList<Object[]>[]は、配列のリストのアレイ - を意味意図することですか? それがあると仮定すると、次の配列を作成するための構文を使用して作成する:

​​

これはnull各セルその指定されたサイズ(ARRAY_SIZE)のアレイを作成します。

なお:

  • あなたがHunter McMillen noticedとして、Javaで一般的な配列を作成することはできませんので、右側の部分はLinkedList(すなわち「<Object[]>」)のタイプが省略されています。
  • 変数はmyListからmyArrayにリネームされました。これは配列でありリストではないからです。
  • それはあなたがLinkedListに特定のメソッドを使用する必要がない限り、特定の実装(LinkedList)インターフェース(List)を使用していないために、通常は良いでしょう。

ので、行は次のようになります。

public List<Object[]>[] myArray = new List[ARRAY_SIZE]; 
+1

右辺の型を指定せずに配列またはリストを作成することは、安全でない操作です。 –

関連する問題