从Map创建Object实例

 棂魂買弄l 发布于 2023-02-13 18:52

我有一个带键和字符串值的地图.
此Map已构建为读取资源包,其中数据按以下方式组织:

height=160
weight=80
name=bob

我有一个类人物,其字段有:身高,体重和名字.

class Person{
 int height;
 int weight;
 String name;
 //..getter and setter..
}

我想从Map创建一个Person类的实例:height:160,weight:80,name:bob最好的是通用解决方案,或者使用某些实用程序的东西.

你有什么主意吗?我怎么能用Java做到这一点?或者使用框架Spring?

1 个回答
  • 如果您想使用Spring中的某些东西,请查看Spring BeanWrapper接口及其实现.您可以使用它来包装bean并从地图中动态填充bean,如下所示:

        Map<String, String> properties = new HashMap<>();
        properties.put("height", "160");
        properties.put("weight", "80");
        properties.put("name", "bob");
    
        BeanWrapper person = new BeanWrapperImpl(new Person());
        for (Map.Entry<String, String> property : properties.entrySet()) {
            person.setPropertyValue(property.getKey(), property.getValue());
        }
    
        System.out.println(person.getWrappedInstance().toString());
    

    这将打印:

        -> Person [height=160, weight=80, name=bob]
    

    2023-02-13 18:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有