Java 为什么';打印方法是否接受linkedlist对象?
我有一个项目,我必须创建和使用打印链表方法。我可以使用基本for循环打印,但收到一个错误:尝试使用打印方法时,linkedlist名称无法转换为Name[]。我对数组使用了类似的方法,效果很好Java 为什么';打印方法是否接受linkedlist对象?,java,printing,linked-list,Java,Printing,Linked List,我有一个项目,我必须创建和使用打印链表方法。我可以使用基本for循环打印,但收到一个错误:尝试使用打印方法时,linkedlist名称无法转换为Name[]。我对数组使用了类似的方法,效果很好 public class Scratch { public static void main(String[] args) { //Animal type(string) and age(int) Animal animal1 = new
public class Scratch {
public static void main(String[] args) {
//Animal type(string) and age(int)
Animal animal1 = new Animal("dog",7);
Animal animal2 = new Animal("cat",4);
Animal animal3 = new Animal("direwolf",30);
//Name includes Animal using constructor
Name name1 = new Name("Cujo",animal1);
Name name2 = new Name("Pete",animal2);
Name name3 = new Name("Ghost",animal3);
//Must create linkedlist
LinkedList<Name> name = new LinkedList<Name>();
name.add(name1);
name.add(name2);
name.add(name3);
System.out.println();
//Prints Fine
for(Name n : name){
System.out.println(n);
System.out.println();
}
//Doesn't print: Error linkedlist Name<> cannot be converted to Name[]
printLL(name);
}
private static void printLL(Name[] pll){
for (Name e : pll){
System.out.println(e);
}
}
}
公共类刮擦{
公共静态void main(字符串[]args){
//动物类型(字符串)和年龄(整数)
动物1=新动物(“狗”,7);
动物2=新动物(“猫”,4);
动物动物3=新动物(“土狼”,30);
//名称包括使用构造函数的动物
Name name1=新名称(“Cujo”,animal1);
名称2=新名称(“皮特”,动物2);
名称3=新名称(“鬼”,动物3);
//必须创建linkedlist
LinkedList name=新建LinkedList();
名称。添加(名称1);
名称。添加(名称2);
名称。添加(名称3);
System.out.println();
//印刷品很好
用于(名称n:名称){
系统输出println(n);
System.out.println();
}
//不打印:错误linkedlist名称无法转换为名称[]
printLL(姓名);
}
专用静态void printl(名称[]pll){
用于(名称e:pll){
系统输出打印ln(e);
}
}
}
printLL将名称数组作为参数。如果你给它一个linkedList,为什么你会期望它起作用呢
尝试:
private static void printl(列表pll){
用于(名称e:pll){
系统输出打印ln(e);
}
}
链表(LinkedList
)不是数组(Name[]
)。另外,当您调用printLinkedList()
时,您的方法被称为printLL()
?真的吗?我得到“Symbol not found:printLinkedList
”为什么您认为可以将LinkedList
值分配给Name[]
类型的参数?我本不应该期望它工作,但很明显,我不理解数组打印方法的所有细微差别。似乎这些项目旨在帮助人们连接他们以前从未使用过的部件。谢谢
private static void printLL(List<Name> pll){
for (Name e : pll){
System.out.println(e);
}
}