Java 带地图的小动物
如何将BeanUtils setProperty方法用于映射 例如,此方法: 公共无效设置地址(字符串类型、地址); 可以使用以下方法设置: setProperty(beanObject,“address(home)”,addressObject)Java 带地图的小动物,java,map,javabeans,apache-commons-beanutils,Java,Map,Javabeans,Apache Commons Beanutils,如何将BeanUtils setProperty方法用于映射 例如,此方法: 公共无效设置地址(字符串类型、地址); 可以使用以下方法设置: setProperty(beanObject,“address(home)”,addressObject) 但是如果我要设置的对象是地图,是否可能?如何使用?使用映射语法foo(bar)(bar是映射的键foo): 公共静态类Bean{ 私有映射数据=新HashMap(); 公共地图getData(){ 返回数据; } 公共无效设置数据(最终地图数据){
但是如果我要设置的对象是地图,是否可能?如何使用?使用映射语法
foo(bar)
(bar
是映射的键foo
):
公共静态类Bean{
私有映射数据=新HashMap();
公共地图getData(){
返回数据;
}
公共无效设置数据(最终地图数据){
这个数据=数据;
}
}
公共静态void main(最终字符串[]args)引发异常{
final Bean=newbean();
//将数据属性的foo键指定给值“bar”
setProperty(bean,“数据(foo)”,“bar”);
System.out.println(bean.data);
}
输出:
{foo=bar}
这就是BeanUtils用户指南所说的:“作为标准JavaBeans API的扩展,BeanUtils包将底层值为java.util.Map的任何属性视为“映射”。您可以通过字符串值键设置和检索单个值。”但我不知道如何使其与带有set(k,v)方法的HashMap一起工作
public static class Bean{
private Map<String, String> data = new HashMap<String, String>();
public Map<String, String> getData(){
return data;
}
public void setData(final Map<String, String> data){
this.data = data;
}
}
public static void main(final String[] args) throws Exception{
final Bean bean = new Bean();
// assign the foo key of the data property to the value 'bar'
BeanUtils.setProperty(bean, "data(foo)", "bar");
System.out.println(bean.data);
}