假设我有class
implements
java.util.function.Function
。 Function
需要知道开始日期和结束日期但这些将在函数的整个生命周期内保持不变。
我正在考虑为开始日期和结束日期实施Function
private final
个字段,因为apply
方法不需要为每个调用设置新值。我觉得这会简化我的实现,但担心这违背了整个函数式编程范例。
当Function
方法需要值时,apply
中的不可变类成员是否合理,但在Function
的整个生命周期内保持不变?
答案 0 :(得分:4)
你的方法没有错。
我觉得这会简化我的实现,但担心这与整个函数式编程范例相悖。
要解决此问题,您可以实现一个方法,该方法获取您的开始和结束日期,并返回一个函数。例如:
public static final Function<Object, Object> getDateF(final Date start, final Date end) {
return input -> {
// do something with start / end for your calculation
final Object output = null;
return output;
};
}
将对象替换为您需要的任何内容。