该类定义的工具类,用于展示泛型的使用
自定义工具类:
package Day01_Demo.Test07;/*@create 2020--12--21--15:53*/import org.apache.commons.beanutils.BeanUtils;import java.util.Map;public class MyBeanUtils {/*** Class<T>此时这个T就是一个变量,在运行的时候,接收具体的类型,例如:Uset* 变量必须先定义再使用* 泛型变量的定义方式,修饰符<变量名> 返回值*/public static <T> T populate(Class<T> beanClass, Map<String, String[]> properties) {//1.使用反射机制实例化try {T bean = beanClass.newInstance();//2.填充数据BeanUtils.populate(bean,properties);//3.返回数据return bean;} catch (Exception e) {throw new RuntimeException(e);}}}
测试类:
package Day01_Demo.Test07;/*@create 2020--12--21--15:58*/import Day01_Demo.Test04.User;import org.junit.Test;import java.util.HashMap;import java.util.Map;/*** 测试自定义泛型的BeanUtils*/public class MyBeanUtilsTest {//使用populate填充数据@Testpublic void test1() {//1.模拟数据Map<String, String[]> map = new HashMap<>();map.put("uid", new String[]{"U9527"});map.put("username", new String[]{"jack","rose"});map.put("password", new String[]{"000"});User user = MyBeanUtils.populate(User.class, map);System.out.println(user);}}
