我创建了一个ListPrinter(主类)和一个ListHolder类。
我被教会如何创建一个通用的ArrayHolder,但现在我正在尝试将它(我的作业)修改为LIST Holder。
我老师的阵列打印机代码是:
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
我做错了什么???
========== KayKay
它仍然给我错误:( 我复制并粘贴了你的答案。 第一个错误是在线: 清单清单; 第一个LIST带下划线,错误是:找不到符号
第二个错误在下面的行中: public void print(List list2,int count) LIST带下划线且错误相同=无法找到符号
答案 0 :(得分: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