java 不能对非静态_java – 如何解决“无法对非静态字段或方法进行静态引用”?...

我似乎无法找到我在静态方法中使用非静态引用的位置,代码是:

public class Item {

public static final Map ITEM_STATUSES = new HashMap();

static {

ITEM_STATUSES.put(STATUS_NEW, "New");

}

public static String getItemStatusFromName(final String p_itemStatusName) {

Iterator statusIterator = Item.ITEM_STATUSES.entrySet().iterator();

while (statusIterator.hasNext()) {

Entry statusEntry = (Entry)statusIterator.next();

if (((String)statusEntry.getValue()).equals(p_itemStatusName)) {

return (String)statusEntry.getKey();

}

}

return "";

}

}

而在另一个班级

private void getName(){

String itemStatus = Item.getItemStatusFromName(p_itemStatusName);

}

编译器说:无法从类型Item中对非静态方法getItemStatusFromName(String)进行静态引用

最佳答案 代码在我的计算机上编译得很好.如果在Eclipse或Netbeans等IDE中工作,请尝试清理项目并再次编译.

你可能感兴趣的:(java,不能对非静态)