【发布时间】:2020-03-06 22:40:02
【问题描述】:
我试图在 HashMap 中存储和访问 2 种不同类型的 List,并在调用返回 HashMap 的方法时访问它们,但我收到此错误:
The constructor ArrayList<JournalArticle>(Object) is undefined
该方法如下所示:
public static HashMap<String, Object> getJournalArticles(long groupId) throws NumberFormatException, SystemException{
List<JournalArticle> journalArticles = JournalArticleLocalServiceUtil.getStructureArticles(groupId);
List<String> allJournalArticleIds = new ArrayList<String>();
for (JournalArticle journalArticle : journalArticles) {
allJournalArticleIds.add(journalArticle.getArticleId());
}
HashMap<String, Object> mapArticles = new HashMap<String,Object>();
mapArticles.put("journalArticles", journalArticles);
mapArticles.put("allJournalArticleIds", allJournalArticleIds);
return mapArticles;
}
当我调用该方法并尝试将它们各自的值存储到一个新列表中时,我得到了之前注释的错误:
HashMap<String, Object> mapArticles = JournalArticleUtil.getJournalArticles(scopeGroupId);
List<JournalArticle> allArticles = new ArrayList<JournalArticle>(mapArticles.get("journalArticles"));
List<String> allJournalArticleIds = new ArrayList<String>(mapArticles.get("allJournalArticleIds"));
出了什么问题以及如何解决?
【问题讨论】:
-
什么问题很明显(编译器抱怨它)...如何解决?可能是时候使用自定义类而不是地图了(我认为)。
标签: java list dictionary arraylist hashmap