gpt4 book ai didi

java - com.googlecode.json-simple 和 Java Streams 无法协同工作

转载 作者:行者123 更新时间:2023-11-30 12:07:56 25 4
gpt4 key购买 nike

我无法获取 com.googlecode.json-simple和 Java-8 流协同工作。

以下代码无效:

JSONArray jsonArray = new JSONArray();
List<String> a = jsonArray.stream()
.map(o -> ((Map)o).get("s"))
.map(Object::toString)
.collect(Collectors.toList());

它说:

java: incompatible types: java.lang.Object cannot be converted to java.util.List<java.lang.String>

但它应该可以工作,因为我在收集之前明确地将流对象类型转换为 String

最佳答案

由于 JSONArray 扩展了 ArrayList 但没有将类型绑定(bind)到它,一种方法可能是在索引上迭代列表而不是:

JSONArray jsonArray = new JSONArray();
List<String> list = IntStream.range(0, jsonArray.size())
.mapToObj(i -> ((Map) jsonArray.get(i)).get("s"))
.map(Object::toString)
.collect(Collectors.toCollection(ArrayList::new));

关于java - com.googlecode.json-simple 和 Java Streams 无法协同工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54587642/

25 4 0