在我的应用程序中,我使用第三方库(确切地说是MongoDB的Spring Data).
这个库的方法返回Iterable<T>,而我的其余代码需要Collection<T>.
有什么实用方法可以让我快速将一个转换为另一个吗?我想避免foreach在我的代码中为这么简单的事情创建一堆循环.
考虑到Iterator<Element>,我们怎么可以转换Iterator到ArrayList<Element>(或List<Element>)的最好,最快的可能方式,这样我们就可以使用ArrayList它,例如的操作get(index),add(element)等等.
我正在尝试使用一个服务,它为我提供了一个具有字段的实体,它是一个数组.
{
"id": "23233",
"items": [
{
"name": "item 1"
},
{
"name": "item 2"
}
]
}
Run Code Online (Sandbox Code Playgroud)
但是当数组包含单个项时,将返回项本身,而不是一个元素的数组.
{
"id": "43567",
"items": {
"name": "item only"
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,杰克逊无法转换为我的Java对象.
public class ResponseItem {
private String id;
private List<Item> items;
//Getters and setters...
}
Run Code Online (Sandbox Code Playgroud)
有一个简单的解决方案吗?
我是GSON的新手.我需要将以下JSON响应转换为List.
JSON响应:
{
"data": [{
"data": {
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}
}, {
"data": {
"ac_id": "000",
"user_id": "000",
"title": "AAA"
}
}]
}
Run Code Online (Sandbox Code Playgroud)
我有一个类来投射数据
帐户.java的
public class Account {
public int ac_id;
public int user_id;
public String title;
@Override
public String toString(){
return "Account{"+
"ac_id="+ac_id+
", user_id="+user_id+
", title="+title+'}';
}
}
Run Code Online (Sandbox Code Playgroud)
当我在课堂上发表回复时,我得到:
[Account{ac_id="000", user_id="000", title="AAA"}, Account{ac_id="000", user_id="000", title="AAA"}]
Run Code Online (Sandbox Code Playgroud)
现在我需要将这两个值放入一个List<Account>.
你有什么建议?