理解Java反射机制的一个好例子

这个例子搞清楚了,就能对java反射机制用法有一个清晰的概念了。

Test4.java:

package com.wy.ref.test4;

import java.lang.reflect.*;
import java.util.ArrayList;

public class Test4
{
	public static void main(String[] args)
	{
		Test4 t = new Test4();
		t.run();
	}
	public void run()
	{
		Template tp = new Template();
		tp.a = 1;
		tp.b = false;
		tp.c = "ABC";
		Field[] field;
		Class<?> c = tp.getClass();
		ArrayList<String> name = new ArrayList<String>();
		ArrayList<String> type = new ArrayList<String>();
		try
		{
			field = c.getFields();
			for (int i = 0; i < field.length; i++)
			{
				name.add(field[i].getName());
				type.add(field[i].getType().getSimpleName());
			}
			System.out.println(name.toString());
			System.out.println(type.toString());
			for(int i=0;i<field.length;i++)
			{
				Field actionField = c.getField(name.get(i));
				Object value = actionField.get(tp);
				System.err.println(value.toString());
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}

Template.java:

package com.wy.ref.test4;

public class Template
{
	public Integer a;
	public Boolean b;
	public String c;
	public String getC()
	{
		return c;
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值