首页 > 解决方案 > 在 Java 中处理 Groovy 脚本的结果

问题描述

我按照这个 SO 帖子的答案编写了我自己的脚本。但是,我不明白如何从 转换GStringImplString[]. 我怎么做?

谢谢

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]

标签: javagroovy

解决方案


我重写了我的代码如下。我改用属性

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);
    }
}

推荐阅读