1. ホーム
  2. java

[解決済み] Javaにeval()関数はありますか?

2022-04-25 17:24:54

質問

以下のような文字列があります。

String str = "4*5";

今度は、その結果を 20 を文字列で指定します。

他の言語では eval() 関数がこれを行います。 Javaでこれを行うにはどうすればよいのでしょうか?

どのように解決するのですか?

を使用することができます。 ScriptEngine クラスを作成し、Javascriptの文字列として評価します。

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = engine.eval("4*5");

もっといい方法があるかもしれませんが、これはうまくいきます。