gpt4 book ai didi

java - 无法从 HashMap 类型对非静态方法 keySet() 进行静态引用

转载 作者:行者123 更新时间:2023-11-30 03:46:34 25 4
gpt4 key购买 nike

我希望能够按键对下面的 HashMap 进行排序,我尝试过如下代码:

SortedSet<String> keys = new TreeSet<String>(HashMap.keySet());
for (String key : keys) {
// String value = map.get(key);
// do something
}

但这会返回错误:

Cannot make a static reference to the non-static method keySet() from the type HashMap

如果有人能指出我正确的方向,那就太好了,谢谢!

HashMap 及其键:

ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
// XML node keys
static final String KEY_ITEM = "item"; // parent node
static final String KEY_ID = "id";
static final String KEY_NAME = "name";
static final String KEY_TITLE = "title";
static final String KEY_COST = "cost";
static final String KEY_DESC = "description";
static final String KEY_LINK = "link";
static final String KEY_PUBDATE = "pubDate";

最佳答案

您正在使用“HashMap”调用“keySet()”方法,就好像这是一个静态方法一样。您需要在 map 对象上调用“keySet()”方法,而不是通过类。

改变这个

SortedSet<String> keys = new TreeSet<String>(HashMap.keySet());

到此

SortedSet<String> keys = new TreeSet<String>(map.keySet());

关于java - 无法从 HashMap 类型对非静态方法 keySet() 进行静态引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25543891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com