2
Robentry [] Rb = new Robentry[robNum];

どうすれば に格納RbできますArrayList<E> Rtか。で定義する方法がわかりません。Rt.get(0) == RbtrueEArrayList<E>

編集:

私が使用する場合:

Robentry [] Rb = new Robentry[robNum];
List<Robentry []> Rt = new  ArrayList<Robentry []>();
// initialize Rb
//...
// 
Rt.add(Rb);

私が変わればRb[0]Rt.get(0)[0]変わる。Rbでは、 のコンテンツをに保存するにはどうすればよいRtRtでしょRbうか?

4

5 に答える 5

7

ArrayList<Robentry[]> arrListあなたが望むもののように聞こえます。

これarrListは のList(またはArrayList) であることを意味しRobentry[]ます。

于 2012-10-29T17:56:09.873 に答える
2

List次のように、 ofタイプを宣言して使用できRobentry[]ます。

    //Declare a list of type Robentry[] 
    List<Robentry[]> list = new ArrayList<Robentry []>();
    //add the rb to the list
    list.add(Rb);

    //compare the list element with Rb
    System.out.println(list.get(0)==Rb);//should print true

注意:==リスト要素はRbと同じであるため、上記の例では問題ありません。それ以外の場合は、equalsメソッドをお勧めします。

于 2012-10-29T17:58:49.433 に答える
2
 ArrayList<Robentry> Rt=(ArrayList<Robentry>) Arrays.asList(Rb);

またはあなたのやり方で、

ArrayList<Robentry[]> Rt=new ArrayList<Robentry[]>();
rt.add(Rb);

これはジェネリックスと呼ばれ、変数に特定の型のみが含まれるようにするために作成されました。公式ドキュメントについては、これを参照してください。

于 2012-10-29T17:59:25.143 に答える
2

変更された質問に基づいて、おそらく

Rt.add(Rb.clone());

また

Rt.add(Arrays.copyOf(Rb, Rb.length));

配列参照は値によって渡されるため、配列を互いに独立させたい場合は、明示的なコピーを行う必要があります。

于 2012-10-29T18:26:40.970 に答える
2

Type Robentry[] を List に使用できます。お気に入り -

List<Robentry []> list = new ArrayList<Robentry []>();
于 2012-10-29T17:56:07.720 に答える