Java 字串表示式運算-字串表示式轉java表示式運算
阿新 • • 發佈:2020-08-11
前言
在開發過程中經常遇到不確定的資料計算方式、條件判斷,後臺無法準確確定如何進行計算、計算太多、判斷太多、或是計算判斷數量不確定的情況
這時候可能需要由前端動態的進行構建計算、判斷表示式然後傳到後臺進行表示式運算,最終根據執行結果處理業務,由此就產生了 Java 字串表示式運算 或 字串表示式轉java表示式運算
話不多說,直接上示例:
示例
public static void main(String[] args) throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine= manager.getEngineByName("js"); String s = "0 < 50 && 50 < 100"; Object r = engine.eval(s); System.out.println(r); if ((boolean) r) { System.out.println("成功"); } // 結果:true 成功 }
結果:
表示式執行正常
講解:
Object r = engine.eval(s);
表示式執行結果為Object 原因是表示式可以是判斷型表示式或者是計算型表示式等,返回Object 能更好體現結果
計算型表示式返回的是計算結果
判斷型表示式返回的是布林型別
歡迎各路大神指教。。。。。。。。。。