`
loven_11
  • 浏览: 58083 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java 反射 取值、设值

    博客分类:
  • Java
阅读更多

不是偶特别想造这个轮子,只是项目环境比较复杂,原来没有导入commons-beanutils-1.6.1.jar包,但是又不想一个一个的设置属性,就写个了这样的方法,希望别被别鄙视,写的比较粗糙...

 

说明:将obj的值存入desc中(类似的操作其实可以直接调用jar中的BeanUtil.copyProperties()方法,此处只是记录下反射的用法。)

public class Test {
import java.lang.reflect.Field;
import java.lang.reflect.Method; 
   /**
     * Copy obj to desc.
     * 
     */
    public static void copyProperties(Object desc, Object obj){
        Class<?> descClass = desc.getClass();
        Class<?> objClass = obj.getClass();
        Field[] fields = objClass.getDeclaredFields();
        try {
            for (int i = 0; i < fields.length; i++) {
                String name = fields[i].getName();
                String getMethodName = "get"+toFirstLetterUpperCase(name);
                String setMethodName = "set"+toFirstLetterUpperCase(name);
                try{
                	Object value = objClass.getMethod(getMethodName).invoke(obj);
                	descClass.getMethod(setMethodName, value.getClass()).invoke(desc, value);
                }catch(Exception e){
                }
            }
        } catch (Exception e) {
            
        }
    }
    public static String toFirstLetterUpperCase(String str) {
    	if(str == null || str.length() < 2){
    		return str;
    	}
        String firstLetter = str.substring(0, 1).toUpperCase();
        return firstLetter + str.substring(1, str.length());
    }

}

 

朋友的网站 http://woods2010.cn.alibaba.com/ 专业电子器件代购

1
0
分享到:
评论
1 楼 jack_guan_7 2013-07-23  
有点看不懂,能不能多给点注释。

相关推荐

    Java反射工具类

    提供以下几个功能: 1. 取最简类名 2. 动态赋值 3. 动态取值 4. 判断是否普通类型(自定义成员变量) 5. 动态取指定类的所有属性名

    java反射对实体类取值和赋值

    项目中需要过滤前面表单页面中传过来的实体类的中的String类型变量的前后空格过滤,由于前几天看过一个磨砺营的java反射讲解,非常受益。于是,哈哈哈  public static &lt;T&gt; void modelTrim(T model){  Class&lt;T&gt; ...

    java反射遍历实体类属性和类型,并赋值和获取值的简单方法

    下面小编就为大家带来一篇java反射遍历实体类属性和类型,并赋值和获取值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    request作用域反射到javabean的工具类

    将前台传过来的参数,通过request作用域反射到javabean,避免了大量的取值代码

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为...

    day021-反射和注解笔记和代码.rar

    第一个next(可以设置生成文档注释的目录),第二个next,设置字符集 如果是UTF-8编码,且有中文,请输入-encoding UTF-8 -charset UTF-8 4. 勾选一个生成完毕后,直接通过浏览器打开的选项 5...

    Student 类

    编写Student类,类中包含学生姓名,学号等私有数据成员。 使用JAVA反射机制修改一个学生对象的私有数据成员(不允许调用setters)

    通过枚举反向给实体类赋值

    通过枚举反向给实体类赋值工具类,减少表单提交时通过request.getParameter(name)方式获取提交值的重复操作

    jdbc基础和参考

    many-to-one:标签中对于cascade的取值delete,delete-orphan,all-delete-orphan(只用unique属性值不为true不能出现)慎用 cascade:级联属性 none:不做任何级联操作 save-update:对当前对象执行save,update, ...

    简单留言板

    仿jQuery选择器 取值设值val,html函数,show,hidden显示隐藏函数,fadeIn,fadeOut淡出函数,ajax简单封装,表单序列化... == 如何使用sqlite? 如何实现事务处理? 如何实现URL映射? 如何实现参数注入? 如何实现对象转...

Global site tag (gtag.js) - Google Analytics