【发布时间】:2015-06-10 09:42:57
【问题描述】:
我已经注册了一段时间,除非我真的找不到答案,否则我通常不会发帖,现在,我感到很困惑。
我最近才开始熟悉 Java Lambda 表达式(主要是函数表达式),例如 BinaryOperator 和 Bifunction..) 我正在查看这些的源代码,我看到您将它们声明为,例如:
public interface BiFunction<T, U, R> {...}.
所以在我看来,没有办法动态创建接口(类似于 BiFunction),但在运行时设置了许多参数和“方程式”。
我将举一个我认为可以更好地解释我想解决的问题类型的实际示例:
假设我想制作一个程序,用户可以在其中输入数学函数并在一个点上对其进行评估。首先,假设它是一个单变量函数:
Function<Integer,Integer> f1 = (x) -> Math.pow(x,2);
将是该问题的解决方案,除了我在运行前定义函数 f(x) = x^2 。 我想知道是否有办法在运行时创建一个函数,询问用户他们想输入哪个函数。
如果用户可以输入具有多个参数的方程,这个问题可能会更加复杂。
感谢您的帮助。
最大
【问题讨论】:
标签: java function math lambda expression