org.apache.commons.beanutils.BeanMap简单使用例子


一、 org.apache.commons.beanutils.BeanMap;
将一个java bean允许通过map的api进行调用,

几个支持的操作接口:

  • Object get(Object key)
  • Object put(Object key, Object value)
  • void putAll(Map t)
  • Set entrySet()
  • Collection values()
  • boolean containsKey(Object key)
  • ....
例如:
//将student的信息拼成字符串,格式:stuname|stuage|stuclass
protected String getLine(Student student ) {
           StringBuilder sb = new StringBuilder();
           BeanMap map = new BeanMap( student );
           appStr(sb, map, "stuname" );
           appStr(sb, map, "stuage" );
           appStr(sb, map, "stuclass" );
            return sb.toString();
     }
 
//将teacher的信息拼成字符串,格式:tname|tage|tclass
protected String getLine(Teacher teacher ) {
           StringBuilder sb = new StringBuilder();
           BeanMap map = new BeanMap(teacher );
           appStr(sb, map, "tname" );
           appStr(sb, map, "tage" );
           appStr(sb, map, "tclass" );
            return sb.toString();
     }
     
 
//拼字符串公用方法,将不同的对象,比如studengt和teacher的信息通过map传到方法里
protected void appStr(StringBuilder sb, Map<String, Object> map,
                String str) {
           Object value = map.get(str);
           sb.append(newValue).append( "|" );
     }
 
 
注意:在上面的例子中,虽然可以直接用
sb.append(student.getStuname()).append("|").append(student.getStuage()).append("|").append(student.getStuclass);
来拼接字符串,但却使用了BeanMap,我认为原因就在于同时有多个对象(如student、teacher等)需要用到拼接字符串的方法,
想要抽象出公共的方法,因此使用了BeanMap ,这样不需要将没个对象都传到appStr中,只需要传一个BeanMap对象就可以了。
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM