3

如何在 Maps 中使用 BeanUtils setProperty 方法。

比如这个方法: public void setAddress(String type, Address address); 可以使用设置: BeanUtils.setProperty(beanObject, "address(home)", addressObject );

但是如果我要设置的对象是地图,有可能吗?如何?

4

1 回答 1

2

使用 Map 语法foo(bar)bar是 map 的键foo):

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);
}

输出:

{foo=bar}

于 2010-11-02T10:03:15.420 回答