java - 在 Java 中处理 Groovy 脚本的结果
问题描述
我按照这个 SO 帖子的答案编写了我自己的脚本。但是,我不明白如何从 转换GStringImpl
为String[]
. 我怎么做?
谢谢
public class TestGroovy {
public static void main(String[] args) {
Binding binding = new Binding();
GroovyShell shell = new GroovyShell(binding);
binding.setVariable("b", "a|b|c");
GStringImpl value = (GStringImpl) shell.evaluate("return \"${b.split('|')}\";");// return "b.split('|')";}
System.out.println(value);
}
}
这打印
[a, |, b, |, c]
解决方案
我重写了我的代码如下。我改用属性
public static void main(String[] args) {
Binding binding = new Binding();
GroovyShell shell = new GroovyShell(binding);
binding.setProperty("b", "a|b|c");
shell.evaluate("result = b.tokenize('|');");// return "b.split('|')";}
List<String> property = (List<String>) shell.getProperty("result");
System.out.println(property);
for (String s : property) {
System.out.println(s);
}
}
推荐阅读
- laravel - 未找到 Laravel/Lumen 类:LoadEnvironmentVariables
- node.js - 大量的键值集使redis中的连接变慢
- python - 使用 socket.getservbyport 找不到 grpc 服务器
- sql - SQL计算十进制平均值而不是int
- python-3.x - 如何使for循环跳过找不到的元素
- python - SSL:CERTIFICATE_VERIFY_FAILED
- c++ - C++ 中的咖啡馆订单检查器
- qt - 使用 QML 操作 QCamera
- java - java.lang.ClassNotFoundException:从 12.2.1.0.0 升级时 Weblogic 12.2.1.4.0 中的 org.slf4j.Logger
- azure-functions - 谁在满足 Azure 函数 /admin/functions 错误的请求