請問要如何讓字串裡面的東西轉成程式碼?(android的java語言)
比如:
int b=0;
string a="b>0";
if(a){
//內容不重要省略
}
就像上面這段程式碼,請問我要如何讓if句判斷a字串裡面的b>0這一段?有甚麼套件或方法可以用嗎?
我google也找不到類似資料,拜託各位了
我想你的目的應該比較像 String to Code
可以用 Apache Groovy 這個lib
提供以下方法給你參考看看
import groovy.lang.Binding;
import groovy.lang.GroovyShell;
public class TestGroovy {
public static void main(String[] args) {
int b = 0;
String code = String.format("%s > 0", b);
//String code = "b > 0"; //這個方法會導致變數b取得不了,需要時間再研究
Binding binding = new Binding();
GroovyShell shell = new GroovyShell(binding);
Object value = shell.evaluate(code);
if (Boolean.parseBoolean(value.toString())) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}
參考資料:https://stackoverflow.com/questions/935175/convert-string-to-code