java bean通过map的api进行调用实例

零下一度
零下一度 原创
2017-07-20 14:18:53 1396浏览
一、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对象就可以了。

以上就是java bean通过map的api进行调用实例的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。