是否要使用Map取消设置多个对象字段[[ java ]

mum43rcc  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(371)

我有一个带有一些字段的对象,它们有setter。我想从一个请求中遍历一个Map,并基于值为null的键名-通过如下操作取消设置字段

field1.set[key](null)

而不是让请求成为一个列表

list.forEach() {
  if (list.contains(key)) {
    object.setKeyName(null);
  }
}

这可能吗?与每次向模型中添加一个新字段时都必须添加一个新的if语句相比,它将更具动态性。忽略输入的卫生处理。

gwo2fgha

gwo2fgha1#

你可以通过反射来实现。

for (String fieldName : list) {
    Class parameterType; //get the type
    object.getClass().getDeclaredMethod("set" + fieldName, parameterType).invoke(object, null);
}

相关问题