2

ListPrinter (メイン クラス) と ListHolder クラスを作成しました。

ジェネリック ArrayHolder の作成方法を教えてもらいましたが、今はそれを (宿題で) LIST ホルダーに変更しようとしています。

私の先生の配列プリンターコードは次のとおりです。

 public class ArrayHolder <P>
 {
    P arr[];
    public void print(P arr2[],int count)
    {
        arr = arr2;

        for (int i = 0; i < count; i++) 
        {
            System.out.print("\n"+arr[i]+"\n");
       }// end for
    }// end print method
}// end class.

これを ListHolder のテンプレートとして使用しましたが、sout行でエラーが発生し続けます。

public class ListHolder <x>
{ 
    x list ;     
    public  void print (x list2, int count) 
    {      
        list= list2;
        for (int i = 0; i < count;  i++) 
        {
            System.out.print(list2(i)+"\n");
        }
    } // end print
} //end class

私は何を間違っていますか???

========== ケイケイ

それはまだ私にエラーを与えています:(私はあなたの答えをコピーして貼り付けました。最初のエラーは次の行にあります:リストリスト;最初のリストには下線が引かれ、エラーは次のとおりです:シンボルが見つかりません

2 番目のエラーはその下の行にあります: public void print (List list2, int count) LIST に下線が引かれ、エラーは同じです = シンボルが見つかりません

4

1 に答える 1

1

では、メソッドを使用して、インデックスで要素を取得する必要Listがあります。get(index)

またx、リスト自体のタイプではなく、リストに含まれるもののタイプです。したがって、宣言はList<x> list.

これらの変更を加えたコードは次のとおりです。

public class ListHolder <x>
{ 
    List<x> list ;     
    public  void print (List<x> list2, int count) 
    {      
        list= list2;
        for (int i = 0; i < count;  i++) 
        {
            System.out.print(list2.get(i)+"\n");
        }
    } // end print
} //end class
于 2013-07-17T12:54:19.087 に答える