java 执行表达式
时间: 2023-10-19 22:11:10 浏览: 192
Java中执行表达式有多种方式,以下是其中几种常见的方式:
1. 使用eval()方法:eval()方法可以将字符串表达式作为参数传递进去,然后执行该表达式并返回结果。但需要注意的是,eval()方法只能执行单行表达式,不能执行多行语句。例如:
```
String expression = "2 + 3 * 4";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
Object result = engine.eval(expression);
System.out.println(result); // 输出14
```
2. 使用JavaScript引擎:Java中提供了JavaScript引擎,可以用来执行JavaScript表达式。例如:
```
String expression = "2 + 3 * 4";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
Object result = engine.eval(expression);
System.out.println(result); // 输出14
```
3. 使用Groovy:Groovy是一种基于Java语言的动态语言,它可以直接执行表达式,并且支持更灵活的语法。例如:
```
String expression = "2 + 3 * 4";
Binding binding = new Binding();
GroovyShell shell = new GroovyShell(binding);
Object result = shell.evaluate(expression);
System.out.println(result); // 输出14
```
4. 使用JEXL:JEXL是一个基于Java的表达式语言,它可以简化Java代码中的表达式处理。例如:
```
String expression = "2 + 3 * 4";
JexlEngine engine = new JexlEngine();
JexlExpression expr = engine.createExpression(expression);
Object result = expr.evaluate(null);
System.out.println(result); // 输出14
```
阅读全文