在 Java 中無法直接將 +、- 等運算符作為值存入變量,但我們可以透過策略模式達到同樣效果。核心思路是定義一個運算介面,再為每種運算實現具體類別,執行時動態注入所需運算邏輯。
// 定義運算契約
interface MyOpt {
int calc(int a, int b);
}
// 加法實現
class Add implements MyOpt {
public int calc(int a, int b) { return a + b; }
}
// 減法實現
class Sub implements MyOpt {
public int calc(int a, int b) { return a - b; }
}
MyOpt op = new Add(); // 相當於把 '+' 存入 op
int result1 = op.calc(1, 2); // 3
op = new Sub(); // 換成 '-'
int result2 = op.calc(1, 2); // -1
if-else 或 switch 判斷這就是「把運算符存進變量」的工程化寫法,廣泛應用於規則引擎、計算器、表達式解析器等場景。