RewriteRule ^([^/]+)$ /index.php?file=$1 [NC,L]
java if语句字符串比较。我的数据库数据进入" kural.get(j)" 但是kural.get(j)错误。因为它的字符串变量。 问题:字符串a = b> 0&& c> 0 - 如果(a)我如何使用?带有变量
的字符串代码答案 0 :(得分:1)
可以使用JavaCompiler和javax.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");
}
}