[英]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.