如何在Java中自动从外部源(如文件)读取对象属性?
我想知道是否有某种方法可以让我自动更新来自某个源的对象属性,如文件或地图
为了详细说明,假设我有一个属性x, y, width, height
为Float
类型的对象。我有一个带有键值对的映射,用于<String, Float>
形式的属性。要更新对象的属性,我将迭代映射并执行以下操作:
if (key.equals("x")) x = (Float) map.get(key);
else if(key.equals("y")) y = (Float) map.get(key);
else if(key.equals("width")) width = (Float) map.get(key);
else if(key.equals("height")) height = (Float) map.get(key);
如果我向类添加更多属性,我将不得不继续像这样添加代码。所以我的问题基本上是,有没有一种方法可以自动化这个过程,这样就可以很容易地添加新的属性并像上面那样更新它们?可能是通过使用注释
谢谢, 风暴织工
# 1 楼答案
来自commons-beanutils的^{}
# 2 楼答案
我会使用反射(check out this link)来实现这一点。如果每个类属性都映射到一个属性,那么可以获取所有类属性,并正确地迭代它们以更新属性值。这样,您就不需要不断添加if子句
有帮助吗