【发布时间】:2023-04-09 19:39:01
【问题描述】:
我想创建一个接受类似这样的方法
set(nodeStatus, status, NodeStatus::setStatus, Status::valueOf);
set(nodeStatus, errorCode, NodeStatus::setErrorCode, ErrorCode::valueOf);
Status 和 ErrorCode 是 java 中的枚举。
签名和伪代码
set(NodeStatus nodeStatus, byte[] status, ?nodeStatusOperator , ?ValueTransformer) {
1. convert byte[] status to appropriate value as per ValueTransformer
2. nodeStatusOperator sets this transformed value according to the lambda passed.
}
我想知道在java中应该使用什么方法签名来完成这个以及为什么。我尝试了各种消费者、BiConsumers 等,但无法做到这一点。有人可以帮忙吗?
【问题讨论】:
标签: java lambda functional-programming producer-consumer