有 Java 编程相关的问题?

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

生成器更新Java对象多个字段的最佳方法

我想一次更新Java对象的多个字段,以便对更新执行检查。我的想法是这样的:

SomethingValues values = new SomethingValues();
values.name = "abc";
values.amount = 12;
values.weight = 42.2;
...
something.update(values);

另一种选择是SomethingValuesBuilder,但我认为构建器所需的额外代码在这里是不必要的

如果我使用setter

something.setName("abc"); // would perform check
something.setAmount(12);  // would perform check
...

。。。我需要对每个setter执行检查,而不是对update方法中的所有字段只执行一次检查

有什么比用附加值对象(values)更新域对象(something)更好的主意吗


共 (3) 个答案

  1. # 1 楼答案

    我想最常用的是Map<String, Object>,因为它不需要任何额外的类

    示例:

  2. # 2 楼答案

    我通常使用SomeObjectType.update(parameters),其中对象负责检查和设置所有参数,并在某些参数不被接受的情况下最终抛出IllegalArgumentException。这样,您可以获得更好的可读性和封装性

  3. # 3 楼答案

    import org.springframework.beans.BeanUtils;
    
    BeanUtils.copyProperties(source, target);