首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

求懂得java反射机制的大神指点

2014-01-08 
高分求教求懂得java反射机制的大神指点~[size18px]我用的hibernate读出来的listObject[],我想转成List

高分求教求懂得java反射机制的大神指点~
[size=18px]我用的hibernate读出来的list<Object[]>,我想转成List<Map>
想用Field反射获取Object的标示名称啊 给map用
我知道思路但是不知道怎么实现
郁闷[/size]求懂得java反射机制的大神指点
定大神出来
[解决办法]
顶大神出来求懂得java反射机制的大神指点
[解决办法]
http://blog.csdn.net/snihcel/article/details/7270502

看看这个
[解决办法]
参照我这里最简单的列子自己写就行了:http://blog.csdn.net/withiter/article/details/8859399
[解决办法]
忘了 坐等大神复习
[解决办法]
hibernate返回的这个List<Object[]>这个object[]里面的元素并不一定就都是实体类的对象,如果楼主的sql查询的不是一个实体类的对象,而是得到一些字段的集合的话这个object[]里面装的就有可能是那些查询出来的字段的数组.这样的话就会变成[int,String,boolean,...]等等数据数组.
如果楼主确实查询的是一个实体类对象的话也不要用什么反射了,直接用commons-beanUtils工具类


public List<Map> reflectObjToMap(List<Object[]> list){
    List<Map> list=new ArrayList<Map>(); 
    for(Object[] object:list){
        for(Object obj:object){
            Map map=BeanUtils.describe(obj);
            list.add(map);
        }
    }
    return list;    
}

[解决办法]
引用:
Quote: 引用:

参照我这里最简单的列子自己写就行了:http://blog.csdn.net/withiter/article/details/8859399


麻烦看我代码:

public void reflectObjToMap(List<Object[]> list){

for(Object[] object:list){
for(Object obj:object){
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {

System.out.println(field.getName());

}
}

}


楼上说了,你可以将obj打印出来看看
[解决办法]
引用:
Quote: 引用:

参照我这里最简单的列子自己写就行了:http://blog.csdn.net/withiter/article/details/8859399
大神?求指点代码。。。

只需要打开Eclipes然后就复制进去运行就可以了。很简单的。
另外就我个人经验,实际项目很少用到反射机制。但是我们所熟悉的框架如Struts等,其实现原理很多就是反射。
[解决办法]
我来学习学习,有点难啊

热点排行