它是一个非常简单的代码,但无法弄清楚为什么我不能使用LinkedList bp;
package Itens;
import java.util.LinkedList;
public class Mochila {
LinkedList bp = new LinkedList();
/* Syntax error */
bp.add();
}
Mochila课程与主要课程(Itens)不同。
答案 0 :(得分:1)
您应该指定要添加到列表中的内容。
例如:
bp.add("abc");
最好不要使用原始的LinkedList类型。例如,如果列表应包含字符串,请使用:
LinkedList<String> bp = new LinkedList<>();
bp.add ("abc");
答案 1 :(得分:0)
您无法在课程级别调用bp.add();
。应该在方法,构造函数或初始化块等代码块中调用指令(例如,如果声明方法将抛出它们,您将能够处理潜在的异常)。
此外,您还需要添加类似add(whatever)
的内容(LinkedList中没有no-arbument方法add
。)
其他方面是您应该使用泛型指定列表应包含的元素类型。有关详情,请访问What is a raw type and why shouldn't we use it?
最后一点是,如果您不打算使用仅存在于LinkedList中的任何方法,那么您应该通过使用更通用(甚至是抽象)的类或接口作为参考来使代码更加灵活。有关详情,请访问What does it mean to "program to an interface"?
请尝试使用
public class Mochila {
List<String> bp = new LinkedList<>();
{// this initialization block will be added at start of each constructor
// of your Mochila class
bp.add("something");
}
}