【发布时间】:2020-08-30 18:12:36
【问题描述】:
我已经改写了我的帖子以更好地解释。
我想比较对象,但不使用反射或注释来声明字段映射,而是使用枚举进行映射和函数式编程,我的意思是
enum MyEnum {
PERSON_LAST_NAME("lastName", Person::getLastName(), PersonEntity::getLstName())
}
现在有了 Person 和 PersonsEntity 的实例,我想迭代 MyEnum 值,在我的对象上调用这些声明的方法。
只是想用更通用的解决方案替换代码
Person person = getPerson();
Person personEntity = getPersonEntity();
if (Objects.equals(person.getLastName(), personEntity.getLstName()) {
return "lastName";
}
if (Objects.equals(person.getFirstName(), personEntity.getFstName()) {
return "firstName";
}
【问题讨论】:
-
你能说明你想如何使用
MyEnum吗? -
你可以添加一个构造函数到你的枚举中,接受一些供应商作为参数,如果这是你想要的。
-
你没有问问题。
-
问题是可以用更通用的解决方案替换代码,即使用枚举来存储字段映射
-
Person和PersonEntity之间有什么区别/关系?
标签: java java-8 functional-programming