假设我有一个包含不同类型的getter和setter的POJO对象。我想编写一些通用算法,基于只定义通过lambda表达式获取和设置器,来更新数据从一个到另一个。
我试图这样创建它:
private static final Map<Function<Entity, Object>, BiConsumer<Entity, Object>> ACCESSORS = new HashMap
<Function<Entity, Object>, BiConsumer<Entity, Object>>() {{
put(Entity::getAreaCode, Entity::setAreaCode);
}});
然后我遍历所有条目,将目标实体应用于它们,并且如果getter的结果不为null,则希望为其他实体应用相应的setter。
但是这不起作用,因为Object无法转换为String。而且我想将其用于不仅仅是String,还有Integers等不同类型...
是否可以在不创建特殊转换器并将其与每个条目关联的情况下通过一些简单的方法解决?
?
替换Object
。这样可以吗? - Sweeper