打字猴:1.70045277e+09
1700452770 DynaBean user=new LazyDynaBean();
1700452771
1700452772 //直接定义属性和值
1700452773
1700452774 user.set(“name”,“张三”);
1700452775
1700452776 //定义属性名,限定属性类型为Map
1700452777
1700452778 user.set(“phoneNum”,“tel”,“021”);
1700452779
1700452780 user.set(“phoneNum”,“mobile”,“138”);
1700452781
1700452782 //属性类型为ArrayList
1700452783
1700452784 user.set(“address”,0,“上海”);
1700452785
1700452786 user.set(“address”,1,“北京”);
1700452787
1700452788 转换器
1700452789
1700452790 如果我们期望把一个Bean的所有String类型属性在输出之前都加上一个前缀,该如何做呢?一个一个进行属性过滤?或者使用反射来检查属性类型是否是String,然后加上前缀?这样是可以解决,但不优雅,看BeanUtils如何解决:
1700452791
1700452792 //一个简单的Bean对象
1700452793
1700452794 User user=new User(“张三”,18);
1700452795
1700452796 //转换工具
1700452797
1700452798 ConvertUtilsBean cub=new ConvertUtilsBean();
1700452799
1700452800 //注册一个转换器
1700452801
1700452802 cub.register(new Converter(){
1700452803
1700452804 public Object convert(Class type, Object value){
1700452805
1700452806 //为每个String类型的属性加上前缀
1700452807
1700452808 return”prefix-“+value;
1700452809
1700452810 }
1700452811
1700452812 },String.class);
1700452813
1700452814 //建立一个依赖特定转换工具的Bean工具类
1700452815
1700452816 BeanUtilsBean beanUtils=new BeanUtilsBean(cub);
1700452817
1700452818 //输出结果为:prefix-张三
1700452819
[ 上一页 ]  [ :1.70045277e+09 ]  [ 下一页 ]