java通过反射Method、属性字段名、值、数据类型

原创 2015年11月19日 14:25:51
package cn.tzz.java.reflect;

import cn.tzz.aop.entity.Person;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import org.junit.Test;

public class TestReflect {

	/** 方法--属性复制 */
	public void fieldCopy(Object source, Object target) throws Exception {
		Method[] methods = source.getClass().getDeclaredMethods();
		for (Method method : methods) {
			String methodName = method.getName();
			System.out.println(methodName);
			if (methodName.startsWith("get")) {
				Object value = method.invoke(source, new Object[0]);
				System.out.println(value);
				String setMethodName = methodName.replaceFirst("(get)", "set");
				Method setMethod = Person.class.getMethod(setMethodName,
						method.getReturnType());
				setMethod.invoke(target, value);
			}
		}
	}

	/** 属性字段名、值、数据类型 */
	public void getFields(Object object)  throws Exception {
		Field[] fields = object.getClass().getDeclaredFields();
		for (Field field : fields) {
			field.setAccessible(true);
			String classType = field.getType().toString();
			int lastIndex = classType.lastIndexOf(".");
			classType = classType.substring(lastIndex + 1);
			System.out.println("fieldName:" + field.getName() + ",type:"
					+ classType + ",value:" + field.get(object));
		}
	}

	@Test
	public void test() throws Exception {
		Person person = new Person();
		person.setId(1L);
		person.setName("AAA");
		Person person2 = new Person();
		fieldCopy(person, person2);
		getFields(person2);
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SQL server字段名中有数据类型为text时,adoquery->fieldbyname->asstring取不到全部值

SQL server字段名中有数据类型为text时,adoquery->fieldbyname->asstring取不到全部值。

java遍历实体类的属性和数据类型以及属性值

和同学由于项目中要用到poi

利用反射取得类中属性(引用及非引用数据类型)及设置该类实例化对象的属性值

第一次尝试将自己学习中的收获记录下来,希望此举能够给自己带来方便或收获。 在做项目中,碰到一个问题:一个外界设备提供了一个包含该设备各项参数的类,因为不是自己所熟悉的设备(属性名),因此在开发中逐一设...

Java-基本数据类型的一些常规属性

Java定义了8个简单的数据类型:字节型(byte),短整型(short),整型(int),长整型(long),字符型(char),浮点型(float),双精度型(double),布尔型(boolea...
  • lzhat
  • lzhat
  • 2016-10-31 11:46
  • 228

JAVA基础数据类型

  • 2014-05-29 10:56
  • 64KB
  • 下载

Java中8种基本数据类型及其默认值

Java语言中有8种基本数据类型,基本情况汇总如下: Java中8种基本数据类型总结 序号 数据类型 大小/位 封装类 ...

Java数据类型笔记

  • 2012-04-09 23:10
  • 451KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)