小编典典

如何在Java中将字符串转换为运算符

java

我想将一些转换成String这样的运算符:

int value = 1;
int valueToCompare = 3;
String operation = "<";

if (value operation valueToCompare) {
    // some operation       
}

如何将变量操作转换为运算符?


阅读 465

收藏
2020-11-23

共1个答案

小编典典

您可以尝试以下方法:

import java.util.*;

interface Operator {
  boolean compare(int a, int b);
}

class Launch
{
    public static void main (String[] args) throws java.lang.Exception
    {
        Map<String, Operator> opMap = new HashMap<String, Operator>();
        opMap.put(">", new Operator() {
            @Override public boolean compare(int a, int b) {
                return a > b;
            }
        });
        opMap.put("<", new Operator() {
            @Override public boolean compare(int a, int b) {
                return a < b;
            }
        });
        opMap.put("==", new Operator() {
            @Override public boolean compare(int a, int b) {
                return a == b;
            }
        });
        String op = ">";
        int i = 4, j = 5;
        boolean test = opMap.get(op).compare(i, j);
        System.out.printf("test: %b, i: %d, op: %s, j: %d\n", test, i, op, j);
            //prints: test: false, i: 4, op: >, j: 5
    }
}
2020-11-23