List<实体>怎么转换成List<Object[]>

我用Mybaits写的SQL返回的是一个List<实体>,可是怎么能把这个实体转换成List类型啊

为什么要转换成List这个类型?这是要把实体的属性转换成Object[]数组吗?

List<Object[]> list=new ArrayList<Object[]>();
        for (int i = 0; i < userList.size(); i++) {
            TbUser user=new TbUser();
            user=userList.get(i);
            Object[] obj=new Object[]{};
            obj[0]=user.getUserName();
            obj[1]=user.getUserPwd();
            list.add(obj);

};

需求有点儿模糊, 我按自己理解写了, 有疑问可以留言。

List<People> peopleList // dao查询回来的 List<实体>

List<Set<Object>> setList = new ArrayList<>() ;// 结果: List<Set>
List<Object[]> arrList = new ArrayList<>() ;// 结果: List<Object[]>
for(People p1 : peopleList) {
    Map map = BeanUtils.describe(p1);
    setList.add(map.entrySet()) ;
    arrList.add(map.entrySet().toArray()) ;
}

我想上面的应该满足你的要求了 。
记得得加 commons - beanutils jar包
省去不必要的代码。

参考:Java反射获取实体的所有可见属性值,返回Object数组

你那个你什么意思List<实体>如果只是代表一个实体那就用实体就行,还用什么list套实体啊

        AppTO ut = new AppTO();//AppTO为你要转换的实体
        Field[] a = ut.getClass().getDeclaredFields();
        Object[] obj = new Object[a.length-1];
        for(int i=1; i < obj.length; i++) {
            String firstLetter = a[i].getName().substring(0, 1).toUpperCase();    
            String getter = "get" + firstLetter + a[i].getName().substring(1);    
            Method method = ut.getClass().getMethod(getter, new Class[] {});    
            Object value = method.invoke(ut.getClass().newInstance(), new Object[] {});    
            obj[i] = value;
        }
                    这个得到的是所有值得集合,你要是还想得到属性名对属性值得方式就把属性名字加上,或者用map存

说实在的,没太看明白你的意图,有下面两个方案,仅供参考。
public class TestMain1 {

public static void main(String[] args) {
    List<Sample> list = new ArrayList<Sample>();
    list.add(new Sample());

    // 转成Object[]
    Object[] obj = list.toArray();

    // 转成Sample[]
    Sample[] sample = list.toArray(new Sample[list.size()]);
}

}

class Sample {

}

一个一个取出来转,再放进去