擅长:python、mysql、java
<p>在Java 8中使用<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/BiFunction.html">^{<cd1>}</a>非常简单:</p>
<pre><code>final Map<String, BiFunction<Integer, Integer, Integer>> opdict = new HashMap<>();
opdict.put("+", (x, y) -> x + y);
opdict.put("-", (x, y) -> x - y);
opdict.put("*", (x, y) -> x * y);
opdict.put("/", (x, y) -> x / y);
int sum = opdict.get("+").apply(5, 4);
System.out.println(sum);
</code></pre>
<p>当然,语法比Python要复杂一点,而且在<code>opdict</code>上使用<code>getOrDefault</code>可能会更好,以避免使用不存在的运算符的情况,但这至少会使问题得到解决。在</p>
<p>如果您专门使用<code>int</code>s,那么使用<code>IntBinaryOperator</code>将是更好的选择,因为这将处理您必须执行的任何泛型类型。在</p>
^{pr2}$