获取类的字段的方法

获取类的字段


关于获取类的字段有两种方式:getFields()和getDeclaredFields()。(反射原理)

getFields():获得某个类的 public 的字段,包括父类中的字段。
getDeclaredFields():获得某个类的所有声明的字段(public、private和proteced),但是不包括父类的字段。
field.getName():获取字段名称,返回String
field.getType():获取字段的类型,返回class

使用格式:
Field [ ] fields = 类名 . class . getDeclaredFields();

	List<Map<String, Object>> taskList = new ArrayList<Map<String,Object>>();
	Field[] fields = Task.class.getDeclaredFields();//获取Task类的所有字段
	for (Field field : fields) {//循环遍历
		Map<String, Object> taskMap = new HashMap<String, Object>();//每次循环创建一次都要map对象,这样以防map传入list的所有结果被最后一次循环的map集合给覆盖
		if(field.getName().equals("id")){
			taskMap.put("name", field.getName() );
			taskMap.put("tname", "任务id" );
			taskMap.put("state",field.getType());
			taskList.add(taskMap);
		}else if(field.getName().equals("taskType")){
			taskMap.put("name", field.getName() );
			taskMap.put("tname", "任务类型" );
			taskMap.put("state", field.getType());
			taskList.add(taskMap);
		}else if(field.getName().equals("memberNo")){
		 	taskMap.put("name", field.getName() );
		 	taskMap.put("tname", "任务人数" );
			taskMap.put("state",field.getType);
			taskList.add(taskMap);
		}			 
	}

结果:
[ {
“name”: “id”,
“name”: “任务id”,
“state”: “String”
},
{
“name”: “taskType”,
“name”: “任务类型”,
“state”: “String”
},
{
“name”: “memberNo”,
“name”: “任务人数”,
“state”: “int”
} ]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值