我有一个Person类,它对每个Person对象都有唯一的id(int类型)id。我还有一个静态方法isAlreadyStored(String name),它应该检查是否已经创建了具有此名称的人。我无法通过为所有创建的Person对象创建一个列表来解决这个问题,因为我得到错误"非静态变量不能从静态上下文中引用"但我没有任何其他想法如何迭代所有Person对象以找到具有给定名称的对象。我该如何处理?
答案 0 :(得分:1)
显然,要解决您的问题,您需要为Person类创建所有实例的列表。您应该将其存储在静态变量中,然后在其上进行搜索。像这样:
static
然后你可以用这样的东西搜索那个列表:
static
答案 1 :(得分:0)
无法从静态上下文引用错误非静态变量意味着您尝试从使用关键字{{定义的方法访问未使用关键字static
定义的变量1}}。
例如
static
没有关键字public class Main {
private int x = 3;
public static void main(String[] args) {
// Not possible
System.out.println(x);
}
}
定义的变量被命名为实例变量,而只能从实例方法(没有关键字{定义的方法)访问{1}})。