通过反射给bean赋值

Entity

package com.restful.reflect;



public class Entity {

 private String name;

 private String age;

 public Entity() {

 }

 public String getName() {

  return name;

 }

 public void setName(String name) {

  this.name = name;

 }

 public String getAge() {

  return age;

 }

 public void setAge(String age) {

  this.age = age;

 }

}

Ref

 package com.restful.reflect;

import java.lang.reflect.Method;



public class Ref {

 public static <T> T fillResponse(T object,String[] paramName,String[] paramVal) {  

        if (object == null) {  

            return null;  

        }  

        Class<T> clazz = (Class<T>) object.getClass();  

        for(int i =0 ; i< paramName.length ; i ++){

          try {  

                 Method get_Method = clazz.getMethod("get" + getMethodName(paramName[i]));  //获取getMethod方法  

                 Method set_Method = clazz.getMethod("set" + getMethodName(paramName[i]), get_Method.getReturnType());//获得属性set方法  

                 set_Method.invoke(object, paramVal[i]);

             } catch (Exception e) {  

             }  

        }

        return object;  

    }  

    // 把一个字符串的第一个字母大写、效率是最高的、  

    private static String getMethodName(String fildeName) {  

        byte[] items = fildeName.getBytes();  

        items[0] = (byte) ((char) items[0] - 'a' + 'A');  

        return new String(items);  

    } 

}

Test

package com.restful.reflect;

public class Test {

 public static void main(String[] args) {

  Entity obj = Ref.fillResponse(new Entity(), new String[]{"name","age"}, new String[]{"songjian" ,"12"});

  System.out.println(obj.getName()+":"+obj.getAge());

 }

}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值