首頁  >  文章  >  Java  >  java bean透過map的api進行呼叫實例

java bean透過map的api進行呼叫實例

零下一度
零下一度原創
2017-07-20 14:18:531796瀏覽
一、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