小编Bla*_*ger的帖子

如何从 groovy 执行 Javascript 代码并以地图形式获取结果?

如何从 groovy 获取执行 javascript 代码的结果?我尝试了以下操作,但我总是返回字符串“world”。我本来期望的是一个物体或地图。

import javax.script.ScriptEngineManager
import javax.script.SimpleBindings

def manager = new ScriptEngineManager()
manager.getEngineByName("JavaScript").eval("""
    {hello: name}
""", [name:'world'] as SimpleBindings)
Run Code Online (Sandbox Code Playgroud)

groovy scriptengine

5
推荐指数
1
解决办法
9617
查看次数

从静态方法实例化子类

我想也许没有办法做到这一点,但我认为值得一提.我想做类似以下的事情:

public class Super {
    public static String print() { System.out.println(new Super().getClass().getSimpleName()); }
    public Super() {}
}

public class Subclass extends Super {
    public Subclass() {}

    public void main(String[] args) {
        Super.print();
        Subclass.print();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的希望是让Super.print()显示"Super"和Subclass.print()来显示"Subclass".但是,我不知道如何从静态上下文中执行此操作.谢谢您的帮助.

我很清楚我可以在没有静态方法的情况下执行此操作,并且可以将类传递给每个方法调用.我不想这样做,因为这需要在许多子类上重新定义几个静态方法.

java inheritance static

4
推荐指数
1
解决办法
1594
查看次数

标签 统计

groovy ×1

inheritance ×1

java ×1

scriptengine ×1

static ×1