java 如何将List<Object[]>转换成List<实体>?

顺便提下,List<Object[]>是执行方法返回的,方法类已经打包,而且不是同一个项目下。
或者说怎么取出List<Object[]>里面的数据?

1、首先创建一个类,如图所示。

2、创建一个主方法,如图所示main方法。

3、让我们声明一个List<Map>集合,如图所示。

4、接着我们声明一个Map集合,如图所示。

5、通过for循环来遍历List,如图。

6、我们在每一次循环中拿出list中相应的map。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-07

代码如下:

private <T> List<Object[]> getFieldValueByFieldName(List<T> list,String [] fieldArr) {  

        List<Object[]> objArrList = new ArrayList<Object[]>();

        Object[] objArr = null;

        for(T t :list){

            objArr = new Object[fieldArr.length];

            for (int i = 0; i < fieldArr.length; i++) {

                try {

                    Field field = t.getClass().getField(fieldArr[i]);

                    objArr[i] = field.get(t);

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

            objArrList.add(objArr);

        }

        return objArrList;

    }  

扩展资料

list中可以添加任何对象,例如:

class Person{

}

上面定义了一个Person类,下面看好如何使用List

Person p1=new Person();

Person p2=new Person();

List list=new ArrayList();

list.add(p1);

list.add(p2);//这里是将对象加入到list中

for(int i=0;i

补充:Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

本回答被网友采纳
第2个回答  推荐于2017-10-02
1,请问,你的Object[] 里面的值就是实体类么? 如果是就用下面的方法
List<User> newList=new ArrayList<User>(); //实体类
List<Object[]> list=new ArrayList<Object[]>();
for(int i=0;i<list.size();i++){
Object[] objects=list.get(i);
if(objects.length>0){
for(int j=0;i<objects.length;j++){
newList.add((User)objects[j]); //强制转换
}
}
}
2.如果你Object[] 里面的值是实体类的属性,
那么也可以用上面的思路:
List<User> newList=new ArrayList<User>(); //实体类
List<Object[]> list=new ArrayList<Object[]>();
for(int i=0;i<list.size();i++){
Object[] objects=list.get(i);
if(objects.length>0){
for(int j=0;i<objects.length;j++){
User user=new User();
user.setId((Integer)objects[j]); //把值赋给属性,并强制转换
}
}
}追问

首先,List list中本来就有值了的,干嘛还要new出一个来?new出一个新的那他的size不是为0的吗?其实,我用过类似你的这种方法,我是直接遍历List list再add到new出来的实体类中而已,不过,编译不通过.

追答

你不是将List转换成List么?
new 一个用来装转换的值,
new 出来的size是为0啊,然后就给他转值啊!
你这种 应该用第二种方法, 没有通过,应该是赋值时属性类型不匹配,你在调下赋值属性时的转换

本回答被提问者和网友采纳
第3个回答  2012-11-15
把Object[]作为一个新类的属性。比如List<MyLei>,然后Object[]是MyLei的一个属性。
第4个回答  2012-11-15
List<Object[]>里面如果有数据,是个什么样的,给个样例追问

看到图片没?图片中的list里的数据就是

追答

看 wujunlongsy回答的就挺好,应该是第二种方法

相似回答