有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

将对象转换为ArrayList<?>在爪哇

我有一张<;字符串,对象>。在某些键上,对象可能是字符串值;在某些键上,对象可能是列表。比如

MyMap = { "Name" : "Captain America" , "Hobbies" : ["beating people", "drawing", ".."] }

所以,我试着访问这个列表

List<String> hobbies = new ArrayList<String>().addAll(MyMap.get("Hobbies");

但这带来了一个例外

The method addAll() in Collection() is not applicable for type {Object}

但正如很多人建议的那样,我试过这个

List<String> hobbies = new ArrayList<String>((List<String>)MyMap.get("Hobbies"));

这也会抛出一个错误,表示它无法转换。如何做到这一点。有人能帮我吗


共 (1) 个答案

  1. # 1 楼答案

    至少可以有一个项目列表,而不是字符串。所以它看起来像:

    MyMap = { "Name" : ["Captain America"] , "Hobbies" : ["beating people", "drawing", ".."] }
    

    然而,这似乎应该是一个类而不是一个映射。它可能看起来像:

    public class SuperHero {
       private String name;
       private List<String> hobbies;
    
       ...
    }