将一个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进行调用实例的详细内容。