我有一个带有一些字段的对象,它们有setter。我想从一个请求中遍历一个Map,并基于值为null的键名-通过如下操作取消设置字段
field1.set[key](null)
而不是让请求成为一个列表
list.forEach() { if (list.contains(key)) { object.setKeyName(null); } }
这可能吗?与每次向模型中添加一个新字段时都必须添加一个新的if语句相比,它将更具动态性。忽略输入的卫生处理。
gwo2fgha1#
你可以通过反射来实现。
for (String fieldName : list) { Class parameterType; //get the type object.getClass().getDeclaredMethod("set" + fieldName, parameterType).invoke(object, null); }
1条答案
按热度按时间gwo2fgha1#
你可以通过反射来实现。