问题描述
- List<实体>怎么转换成List<Object[]>
-
我用Mybaits写的SQL返回的是一个List<实体>,可是怎么能把这个实体转换成List类型啊
解决方案
说实在的,没太看明白你的意图,有下面两个方案,仅供参考。
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 {
}
解决方案二:
List转换成IList
解决方案三:
一个一个取出来转,再放进去
解决方案四:
为什么要转换成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存
时间: 2025-01-30 22:26:48