打字猴:1.70045279e+09
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
1700452820 beanUtils.getProperty(user,“name”);
1700452821
1700452822 (3)Collections
1700452823
1700452824 Collections工具包提供了ListUtils、MapUtils等基本集合操作工具,比较常用而且较简单,这里就不再介绍了。需要重点说明的是Collections包中3个不太常用的集合对象,如下所示。
1700452825
1700452826 Bag
1700452827
1700452828 Bag是Collections中的一种,它可以容纳重复元素,与List的最大不同点是它提供了重复元素的统计功能,比如一个盒子中有100个球,现在要计算出蓝色球的数量,使用Bag就很容易实现,代码如下:
1700452829
1700452830 //一个盒子中装了4个球
1700452831
1700452832 Bag box=new HashBag(Arrays.asList(“red”,“blue”,“black”,“blue”));
1700452833
1700452834 //又增加了3个蓝色球
1700452835
1700452836 box.add(“blue”,3);
1700452837
1700452838 //球的数量为7
1700452839
[ 上一页 ]  [ :1.70045279e+09 ]  [ 下一页 ]