Java 實現 JS的eval函數


JS的eval 函數, 給個表達式做參數, 返回表達式的值。

Java的腳本引擎可以實現這個功能。

例子:

  拼接一個字符串 \uxxxx, Unicode的十六進制編碼, 然后把它打印出來。 即輸入一個'\u5236' 字符串, 然后輸出一個中文Unicode字符“制”。

 

package test;

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

public class ScriptEngineDemo {
    public static void main(String[] args) throws ScriptException {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine se = manager.getEngineByName("js");
        String str = "\'\u5236\'";          // 傳 "\u5236", JS是認不出來的。 傳"\'u5236\'"
        String result =  (String) se.eval(str);
        System.out.println(result);        
    }        
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM