繁体   English   中英

将元素添加到数组列表 - Java

[英]Adding elements to array list - Java

我有一个 class 文件

public class Name {
    private String id;

    public String getId() {
        return id;
    }
}

这是测试文件

CollectionType javaType = mapper.getTypeFactory().constructCollectionType(ArrayList.class, Name.class);
ArrayList<Names> nameList = mapper.readValue(json, javaType);
for (Names nameValue : nameList) {
    List<String> id = new ArrayList<>();
    id.add(nameValue.getId());
System.out.println(id);

json

[{"id":"1"},{"id":"2"}]

在 JSON output 中有多个 id,我试图将它们存储在一个列表中,但它只添加第一个(“1”),我如何将它们存储在一个列表中。 请帮忙

问题是您遍历名称列表,并在 for 循环中在每次迭代期间创建一个新的ArrayList 您想在循环外创建ArrayList

CollectionType javaType = mapper.getTypeFactory().constructCollectionType(ArrayList.class, Name.class);
ArrayList<Names> nameList = mapper.readValue(json, javaType);
List<String> id = new ArrayList<>();
for (Names nameValue : nameList) {
    id.add(nameValue.getId());
}
System.out.println(id);

循环的每次迭代都在创建一个新的id列表。 在循环之外声明该列表,它将向其中添加元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM