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

顺便提下,List<Object[]>是执行方法返回的,方法类已经打包,而且不是同一个项目下。或者说怎么取出List<Object[]>里面的数据?... 顺便提下,List<Object[]>是执行方法返回的,方法类已经打包,而且不是同一个项目下。
或者说怎么取出List<Object[]>里面的数据?
展开
 我来答
百度网友faadf46
高粉答主

2020-05-07 · 说的都是干货,快来关注
知道答主
回答量:4556
采纳率:0%
帮助的人:74万
展开全部

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

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

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

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

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

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

娱乐小八卦啊a
高粉答主

2020-05-07 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117852

向TA提问 私信TA
展开全部

代码如下:

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、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wujunlongsy
推荐于2017-10-02 · TA获得超过447个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:197万
展开全部
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啊,然后就给他转值啊!
你这种 应该用第二种方法, 没有通过,应该是赋值时属性类型不匹配,你在调下赋值属性时的转换
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱李沛霞
2012-11-15 · TA获得超过896个赞
知道小有建树答主
回答量:385
采纳率:100%
帮助的人:167万
展开全部
把Object[]作为一个新类的属性。比如List<MyLei>,然后Object[]是MyLei的一个属性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9a65c9b
2012-11-15 · TA获得超过551个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:246万
展开全部
List<Object[]>里面如果有数据,是个什么样的,给个样例
追问
看到图片没?图片中的list里的数据就是
追答
看 wujunlongsy回答的就挺好,应该是第二种方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式