class 中的链表
LinkedList in a class
这是一个非常简单的代码,但无法弄清楚为什么我不能使用 LinkedList bp;
package Itens;
import java.util.LinkedList;
public class Mochila {
LinkedList bp = new LinkedList();
/* Syntax error */
bp.add();
}
class Mochila 与 main 在不同的包中(Itens)。
您应该指定要添加到列表中的内容。
例如:
bp.add("abc");
并且最好不要使用原始的 LinkedList 类型。例如,如果列表应包含字符串,请使用 :
LinkedList<String> bp = new LinkedList<>();
bp.add ("abc");
您不能在 class 级别调用 bp.add();
。指令应该在方法、构造函数或初始化块等代码块中调用(例如,如果方法被声明为抛出它们,您将能够处理潜在的异常)。
你还需要添加类似add(whatever)
的东西(LinkedList中没有无参数方法add
)。
另一件事是您应该使用泛型指定列表应包含的元素类型。更多信息请见 What is a raw type and why shouldn't we use it?
最后一件事是,如果您不打算使用任何仅存在于 LinkedList 中的方法,您应该通过使用更通用(甚至抽象)的参考 classes 或接口来使您的代码更加灵活.更多信息请见 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");
}
}
这是一个非常简单的代码,但无法弄清楚为什么我不能使用 LinkedList bp;
package Itens;
import java.util.LinkedList;
public class Mochila {
LinkedList bp = new LinkedList();
/* Syntax error */
bp.add();
}
class Mochila 与 main 在不同的包中(Itens)。
您应该指定要添加到列表中的内容。
例如:
bp.add("abc");
并且最好不要使用原始的 LinkedList 类型。例如,如果列表应包含字符串,请使用 :
LinkedList<String> bp = new LinkedList<>();
bp.add ("abc");
您不能在 class 级别调用 bp.add();
。指令应该在方法、构造函数或初始化块等代码块中调用(例如,如果方法被声明为抛出它们,您将能够处理潜在的异常)。
你还需要添加类似add(whatever)
的东西(LinkedList中没有无参数方法add
)。
另一件事是您应该使用泛型指定列表应包含的元素类型。更多信息请见 What is a raw type and why shouldn't we use it?
最后一件事是,如果您不打算使用任何仅存在于 LinkedList 中的方法,您应该通过使用更通用(甚至抽象)的参考 classes 或接口来使您的代码更加灵活.更多信息请见 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");
}
}