java - 在 Java 中将对象转换为 ArrayList
问题描述
我有一个 < String, Object > 的地图。在某些键上,对象可能是某些键上的字符串值,它可能是列表。例如
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"));
这也会引发一个错误,指出它无法转换。这个怎么做。谁能帮我这个
解决方案
你至少可以有一个项目的列表而不是字符串。所以它看起来像:
MyMap = { "Name" : ["Captain America"] , "Hobbies" : ["beating people", "drawing", ".."] }
然而,这似乎应该是一个类而不是一个地图。它可能看起来像:
public class SuperHero {
private String name;
private List<String> hobbies;
...
}
推荐阅读
- mysql - 更新 mysql nodejs
- python - 为什么每一层都采用初始输入数组形状而不是前一层的输出
- swift - 迅速。UISegmentedControl 有两条不同的线
- java - 包 androidx.appcompat.widget 不存在 Android Studio
- vb.net - 如何过滤通用对象列表
- python - 如何删除从文件中读取的字符串中的编码“b”?
- animation - Pygame是在不暂停程序的情况下减慢某个动画的帧速率的最佳方法?
- wpf - 如何修复 WPF MVVM 中的绑定 TextBlock?
- android - 有没有办法从我的 expo 应用程序 (react native 解决方案) 在“添加页面”上打开 instagram 应用程序?
- javascript - 如何遍历本地存储中的对象集合