有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中自动从外部源(如文件)读取对象属性?

我想知道是否有某种方法可以让我自动更新来自某个源的对象属性,如文件或地图

为了详细说明,假设我有一个属性x, y, width, heightFloat类型的对象。我有一个带有键值对的映射,用于<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);

如果我向类添加更多属性,我将不得不继续像这样添加代码。所以我的问题基本上是,有没有一种方法可以自动化这个过程,这样就可以很容易地添加新的属性并像上面那样更新它们?可能是通过使用注释

谢谢, 风暴织工


共 (2) 个答案

  1. # 1 楼答案

    来自commons-beanutils^{}

    Populate the JavaBeans properties of the specified bean, based on the specified name/value pairs.

  2. # 2 楼答案

    我会使用反射(check out this link)来实现这一点。如果每个类属性都映射到一个属性,那么可以获取所有类属性,并正确地迭代它们以更新属性值。这样,您就不需要不断添加if子句

    有帮助吗