根据枚举值设置 class 个字段
set class fields based on enum value
enum Temp {
VALUE1(Tempclass::getField1)
VLAUE2(Tempclass::getField2)
private final Function<Tempclass, String> type;
}
class Tempclass {
String field1;
String field2;
}
使用上面的代码,我可以根据 enum
值获取 Tempclass
字段的值。
现在如何根据 enum
值设置 Tempclass
的字段 例如:如果选择 enum
VALUE2
,那么我需要设置 Tempclass
field2
到输入值。
使用 BiConsumer<Tempclass, String>
获取 TempClass
的实例和 String
并在 class.
中设置适当的字段
VALUE1(Tempclass::getField1, Tempclass::setField1),
VALUE2(Tempclass::getField2, Tempclass::setField2);
private final BiConsumer<Tempclass, String> setter;
从枚举中获取 setter 并将值传递给 BiConsumer 的 accept
方法。
enumInstance.getSetter().accept(tempClassInstance, "some-value");
enum Temp {
VALUE1(Tempclass::getField1)
VLAUE2(Tempclass::getField2)
private final Function<Tempclass, String> type;
}
class Tempclass {
String field1;
String field2;
}
使用上面的代码,我可以根据 enum
值获取 Tempclass
字段的值。
现在如何根据 enum
值设置 Tempclass
的字段 例如:如果选择 enum
VALUE2
,那么我需要设置 Tempclass
field2
到输入值。
使用 BiConsumer<Tempclass, String>
获取 TempClass
的实例和 String
并在 class.
VALUE1(Tempclass::getField1, Tempclass::setField1),
VALUE2(Tempclass::getField2, Tempclass::setField2);
private final BiConsumer<Tempclass, String> setter;
从枚举中获取 setter 并将值传递给 BiConsumer 的 accept
方法。
enumInstance.getSetter().accept(tempClassInstance, "some-value");