iT邦幫忙

0

請問android的 java如何讓字串轉成程式碼?

  • 分享至 

  • xImage

請問要如何讓字串裡面的東西轉成程式碼?(android的java語言)
比如:

int b=0;
string a="b>0";
if(a){
//內容不重要省略
}

就像上面這段程式碼,請問我要如何讓if句判斷a字串裡面的b>0這一段?有甚麼套件或方法可以用嗎?
我google也找不到類似資料,拜託各位了

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
z1931
iT邦新手 5 級 ‧ 2022-10-26 14:31:48

我想你的目的應該比較像 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

我要發表回答

立即登入回答