当前位置: 编程技术>java/j2ee
Java 采用反射获取class属性值的实现代码
来源: 互联网 发布时间:2014-10-27
本文导语: 原理:Java的反射能够获取属性的名称,然后通过invoke调用类的某个方法。比如有个属性叫userName,这个类写了个方法叫getUserName,通过invoke调用getUserName这个方法。代码如下 代码如下:import java.lang.reflect.Field;import java.lang.reflect.Method...
原理:Java的反射能够获取属性的名称,然后通过invoke调用类的某个方法。
比如有个属性叫userName,这个类写了个方法叫getUserName,通过invoke调用getUserName这个方法。
代码如下
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
public class ParameterBase
{
/**
* Get Class field and value Map
* @return
*/
public Map getClassInfo()
{
Map fieldsAndValues = new HashMap();
Field [] fields = this.getClass().getDeclaredFields();
for(int i=0; i< fields.length; i++)
{
Field f = fields[i];
String value = getFieldValue(this ,f.getName()).toString();
fieldsAndValues.put(f.getName(),value);
}
return fieldsAndValues;
}
private String getFieldValue(Object owner, String fieldName)
{
return invokeMethod(owner, fieldName,null).toString();
}
/**
*
* 执行某个Field的getField方法
*
* @param owner 类
* @param fieldName 类的属性名称
* @param args 参数,默认为null
* @return
*/
private Object invokeMethod(Object owner, String fieldName, Object[] args)
{
Class
Java 反射封装库 Mirror
高手请进:JAVA中的“反射”是什么?
java增强开发类,反射工具 absir-core
关于JAVA反射实现的问题
请问java.lang.reflect这个包(反射)的主要用途?java.lang.reflect.Method这个类是干什么用的?
java反射机制示例
java反射使用示例分享
java根据方法名称取得反射方法的参数类型示例
Java反射学习 getClass()函数应用
java利用反射实现动态代理示例
java反射android的r文件的示例
Java反射工具包 reflectutils
Java 反射之私有字段和方法详细介绍
Java反射机制(Reflection)浅析
java类加载器和类反射使用示例
java反射实现javabean转json实例代码
java反射机制示例详解
java反射机制实战示例分享
java反射技术与类使用示例
java使用dom4j解析xml配置文件实现抽象工厂反射示例
java 框架Hibernate的generator属性的七种class介绍
急!急!急!急!急!急!急!关于ant一个属性怎么也解决不了,关于java编译的属性,在线等待!!
java有无像vb那样的静态变量?java的staic是类的属性,那末,静态变量如何声明?
菜鸟问题:在Java中对Label或是TextArea、TextField能不能设置自动换行属性??
笨苯问题:java类中如何读取xml中定义的属性信息。
突然记起来了!!哪里有java类库的树形图,及属性,方法的具体描述,这种东西哪里有?/
重分悬赏!!!哪儿有关于JAVA,JSP的各种对象,方法,属性的详细的中文参考书下载.(140分,分批给)
用java swing JTable做一个属性编辑器遇到的问题,请高手赐教!急,急!!
请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
在java中怎么连接MSSQL这样的数据库?database的属性里用什么驱动?
请教用java从properties文件中读取属性字段的方法?
比如有个属性叫userName,这个类写了个方法叫getUserName,通过invoke调用getUserName这个方法。
代码如下
代码如下:
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
public class ParameterBase
{
/**
* Get Class field and value Map
* @return
*/
public Map getClassInfo()
{
Map fieldsAndValues = new HashMap();
Field [] fields = this.getClass().getDeclaredFields();
for(int i=0; i< fields.length; i++)
{
Field f = fields[i];
String value = getFieldValue(this ,f.getName()).toString();
fieldsAndValues.put(f.getName(),value);
}
return fieldsAndValues;
}
private String getFieldValue(Object owner, String fieldName)
{
return invokeMethod(owner, fieldName,null).toString();
}
/**
*
* 执行某个Field的getField方法
*
* @param owner 类
* @param fieldName 类的属性名称
* @param args 参数,默认为null
* @return
*/
private Object invokeMethod(Object owner, String fieldName, Object[] args)
{
Class
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!