java在语言的动态性方便不是很灵活,如果你想快速增加或改变一些方法,那么只能通过反射机制,并且参数传递的格式很严格。
相比之下,基于groovy可以快速写出一些自定义方法,并能和java很好结合,类似javascript在java中应用。
环境:
导入groovy-all-2.1.6.jar
maven:
<dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.1.6</version> </dependency>
编写自定义的方法
class Java2Script extends Script{ public static String getString(String string){ return string; } public static int getInt(){ return 1; } @Override public Object run() { return null; } public static void main(String[] args){ CompilerConfiguration cfg = new CompilerConfiguration(); cfg.setScriptBaseClass(Java2Script.class.getName()); GroovyShell shell = new GroovyShell(cfg); Script script = shell.parse("getString("hello world")"); System.out.println(script.run()); } }
这样就非常方便,可以任意写一些自定义方法,然后调用的时候通过字符串的方式调用,并且可以传递一些基础类型参数。
// groovy语言在java中的其他嵌入用法