gpt4 book ai didi

java - 从 Map 中设置数组列表中的值

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

我正在从elasticsearch中获取记录并尝试以列表的形式返回。但是从 sourceAsMap

添加到列表时出现错误

请在下面找到我的代码。

SearchHit[] searchHits = searchResponse.getHits().getHits();
List<Product> productList=new ArrayList<Product>();
for (SearchHit hit : searchHits) {
// get each hit as a Map

Map<String, Object> sourceAsMap = hit.getSourceAsMap();
product=new Product();
product.setName(sourceAsMap.get("name").toString());
productList.add(product.setName(sourceAsMap.get("name").toString())); // throwing error in this line

}

return productList;
}

请找到我的 POJO 类:

@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Product {

private String id;
private String name;

public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}

最佳答案

我相信您得到The method add(void) is undefined for the type Product。您的Product#setName方法返回类型为void,所以您实际上是在尝试将 void 添加到 ProductList 中。您应该执行 productList.add(product) 而不是 productList.add(product.setName(sourceAsMap.get("name").toString()));

您的代码应如下所示:

    Map<String, Object> sourceAsMap = hit.getSourceAsMap();
product=new Product();
product.setName(sourceAsMap.get("name").toString());
productList.add(product);

关于java - 从 Map 中设置数组列表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50515529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com