A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙胜 中级黑马   /  2013-5-4 00:46  /  1778 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package sheng.java.language;

  2. import java.util.*;

  3. import org.apache.commons.beanutils.BeanUtils;

  4. public class BeanUtilsDemo {

  5.         /**
  6.          * @param args
  7.          * @throws Exception
  8.          */
  9.         public static void main(String[] args) throws Exception {

  10.                 // 创建一个Map集合,添加内容
  11.                 Map<String, Object> map = new TreeMap<String, Object>();
  12.                 map.put("name", "sunsheng");
  13.                 map.put("age", 28);

  14.                 // 定义要修改的键和值
  15.                 String key = "age";
  16.                 Object value = 23;

  17.                 // 使用普通迭代的办法修改value
  18.                 // 好麻烦,哪位高手有更快捷的方法,分享一下
  19.                 Set<Map.Entry<String, Object>> entrys = map.entrySet();
  20.                 Iterator<Map.Entry<String, Object>> it = entrys.iterator();
  21.                 while (it.hasNext()) {
  22.                         Map.Entry<String, Object> entry = it.next();
  23.                         if (entry.getKey().equals(key)) {
  24.                                 entry.setValue(value);
  25.                         }

  26.                 }

  27.                 // 验证修改是否成功
  28.                 System.out.println(map);

  29.                 // 使用BeanUtils工具修改key对于的value
  30.                 BeanUtils.setProperty(map, key, value);

  31.                 // 验证被修改的value的值和类型
  32.                 it = entrys.iterator();// 复位迭代器,不然下面的while循环执行一次就退出
  33.                 while (it.hasNext()) {
  34.                         Map.Entry<String, Object> entry = it.next();
  35.                         if (entry.getKey().equals(key)) {
  36.                                 System.out.println(key + "的类型是:"
  37.                                                 + entry.getValue().getClass().getName());
  38.                                 System.out.println(key + "的值是:" + entry.getValue());
  39.                         }

  40.                 }

  41.         }

  42. }
复制代码

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马