java bean通过map的api进行调用实例
程序员文章站
2022-03-26 09:52:48
...
一、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进行调用实例的详细内容,更多请关注其它相关文章!