JAVA反射获取属性注解,类方法

                List<TechnicalParam> technicalParams=extAsset.getTechnicalParam();
		TechnicalParam technicalParam=new TechnicalParam();
		Field[] fieldst = new TechnicalParam().getClass().getDeclaredFields();//获取该类的全部属性字段
		for(TechnicalParam technicalParamss:technicalParams){
			baowen.append("<mdm:TechnicalParam>");
		for(Field field:fieldst){//遍历集合
			for(Annotation annotation:field.getAnnotations()){//根据从字段属性获取其相应的注解集合
        		//String fieldname=field.getName().toUpperCase();
        		String methodname="get"+field.getName().toUpperCase();//根据字段属性拼接其get方法
        		System.out.println(fieldname);
        		//String str=annotation.toString();
        		//Pattern p=Pattern.compile("name=([\\w]*),");
        		Matcher m=Pattern.compile("name=([\\w]*),").matcher(annotation.toString());//截取注解,获取方法名称
        		Method method = technicalParam.getClass().getMethod(methodname);//根据方法名称获取方法
    			System.out.println(method);
    			Object o = method.invoke(technicalParamss, null);//根据方法获取属性值
        		while(!m.hitEnd() && m.find() && !(o==null)){
        			String column=m.group(1);
        			baowen.append("<mdm:"+column+">");
        			/*Method method = technicalParam.getClass().getMethod(methodname);
        			//System.out.println(method);
        			Object o = method.invoke(technicalParam, null);*/
        			baowen.append(o+"</mdm:"+column+">");
        			//System.out.println(column);
        		}
        	}
		  }
		  baowen.append("</mdm:TechnicalParam>");
		 }
注意:在根据字段获取其相应的注解后,在本文中只采取截取字符串的方式再拼接字符串从而获取相应的方法
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值