利用java反射原理写了一个简单赋值和取值通用类

由于项目的实际需要,所以利用java反射原理写了一个简单给bean赋值和取值通用的类,在此记录下方便自己日后用到,也为需要的兄弟提供个参考例子。

当然目前这个版本还有很多需要改进的地方,比如还没有添加对byte、char等的支持,主要是当前项目基本用不到这些类型,所以也没有多加考虑,以后会补上的。

直接附上java代码的:BeanRefUtil.java

一个Bean的类:TestBean.java

一个测试的类:TestMain.java

运行结果如下:

通过反射赋值.
通过反射取值:
flag—false
height—173.5
times—1287932898276
age—27
userName—michael
date—2010-10-24 00:00:00

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/lang/java/java-reflect-demo/

发表评论?

3 条评论。

  1. 你的checkSetMet方法和checkGetMet方法,内容是一样的。可以去掉一个。命名为checkMetExist类似。

  2. setFieldValue那些类型判断可以去掉,Map泛型也可以放大到Map,泛型参数类型可通过ParameterizedTypegetActualTypeArguments()来动态获取。

    不过个人认为在生产环境应用范围有限,主要是泛型的层次不确定,一般稍微复杂点的系统都好几层,多次循环取值不划算,还需要考虑到Array,具体类,比如Staff跟原始Object的判断等

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">