Java通用列表模板
我创建了一个ListPrinter(主类)和一个ListHolder类 我被教如何创建一个通用的ArrayHolder,但现在我正在尝试将它(我的家庭作业)修改为列表持有者 我老师的阵列打印机代码是:Java通用列表模板,java,list,templates,generics,Java,List,Templates,Generics,我创建了一个ListPrinter(主类)和一个ListHolder类 我被教如何创建一个通用的ArrayHolder,但现在我正在尝试将它(我的家庭作业)修改为列表持有者 我老师的阵列打印机代码是: public class ArrayHolder <P> { P arr[]; public void print(P arr2[],int count) { arr = arr2; for (int i = 0; i &l
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.
公共类数组文件夹
{
P-arr[];
公共作废打印(P arr2[],整数计数)
{
arr=arr2;
for(int i=0;i
我将其用作我的列表持有者的模板,但在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
公共类列表持有者
{
x名单;
公共作废打印(x列表2,整数计数)
{
列表=列表2;
for(int i=0;i
我做错了什么
==========
凯凯
它仍然给我错误:(
我复制并粘贴了你的答案。
第一个错误在该行:
名单;
第一个列表带下划线,错误为:找不到符号
第二个错误在下面的行中:
公共作废打印(列表列表2,整数计数)
列表带下划线,错误相同=在
列表上找不到符号
您需要使用get(index)
方法按其索引检索元素
另外,x
是列表所包含内容的类型,而不是列表本身的类型。因此声明应该是list-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
公共类列表持有者
{
名单;
公共作废打印(列表列表2,整数计数)
{
列表=列表2;
for(int i=0;i
您得到了什么错误?它似乎是正确的(我想您不添加list2(I)
而是list.get(I)
),您在调用该方法时是否检查count的值?list
不一定是集合类型。@Rohit当然,但在所有情况下都是这样的他需要一个获取值的getter…我的编译器不喜欢list(i)^我的代码编译(我也复制粘贴了它),您可能缺少到java.util.list.ListHolder dogs=new ListHolder();dogs.print(列表,5);ListHolder items=new ListHolder();items.print(列表,5)的导入;ListHolder people=new ListHolder();people.print(list,5);}//end main}//end classe您应该把它放在问题中,而不是放在注释中。您的代码显示,因为我认为x是列表(Dog)中的类型,所以您需要将“x”替换为“list”在你的ListHolder类中。我如何输入问题而不是评论?单击你问题下方的“编辑”链接。如果我的答案代码对你有效,请随时通知我。或者,你可以将该类声明为ListHolder