我想将四个运算符中的一个(+, - ,*,/)传递给一个方法,并让它根据传递的运算符对两个整数执行操作。
static int op(String oper) {
eval = 8 oper 4;
}
e.g。如果我使用op("+");
调用它,则会添加8
和4
。
现在,我只是在;
之后得到了“8
预期”。
我应该使用其他语法吗?我只是想减少一些代码的大小。
答案 0 :(得分:5)
在Java 8中,我们将能够执行类似
的操作foo(IntBinaryOperator oper)
eval = oper.apply(8, 4);
然后
foo(Integer::sum);
IntBinaryOperator times = (a,b)->a*b;
foo(times);
foo( (a,b)->a/b );