java if语句字符串比较

时间:2015-11-04 18:02:17

标签: java if-statement comparison

RewriteRule ^([^/]+)$ /index.php?file=$1 [NC,L]

java if语句字符串比较。我的数据库数据进入" kural.get(j)" 但是kural.get(j)错误。因为它的字符串变量。 问题:字符串a = b> 0&& c> 0 - 如果(a)我如何使用?带有变量

的字符串代码

4 个答案:

答案 0 :(得分:1)

可以使用JavaCompilerjavax.tools package

以编程方式完成此操作

作为相关问题,请参阅How do I programmatically compile and instantiate a Java class?

解决方案是一样的。

答案 1 :(得分:1)

使用Rows你无法轻易做到这一点。你能做的就是建立一个像这样的界面

String

然后你可以做(​​在Java 8中):

interface IntIntPredicate {
    public boolean test(int i, int j);
}

然后你可以这样做:

IntIntPredicate a = (i, j) -> i == 1 && j <= 2;
IntIntPredicate b = (i, j) -> i <= 0 && j == 2;

这在早期版本的Java中是可行的,但语法更笨拙。

如果有必要将数据作为if (a.test(i, j)) { // do something } else if (b.test(i, j)) { // do something else } 输入,那么编写一个方法来解析String(处理String和{{}可能并不困难。 1}}作为第一个和第二个参数)并返回i

j

答案 2 :(得分:0)

您可以创建一个方法,例如:

boolean predicate(i,j) {
    if (i==1 and j <=2) {
        return true;
    }
    return false;
} 

然后调用这样的方法:

if (predicate(i,j)) {
    System.out.println("a");
}

答案 3 :(得分:0)

您也可以使用ScriptEngine,但您需要将逻辑转换为Javascript等脚本语言。

import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.ScriptException;

/**
 *
 * @author afshin
 */
public class Blah {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws ScriptException {

        ScriptEngineManager mgr = new ScriptEngineManager();
        ScriptEngine engine = mgr.getEngineByName("JavaScript");
        int i = 1;
        int j = 1;
        String a = i + "==1 && " + j +"<=2";
        String b= i + "<=0 && " + j+"==2";

        if (((Boolean) engine.eval(a)))
            System.out.println("a is true");
         if (((Boolean) engine.eval(b)))
            System.out.println("b is true");

    }

}