groovy 直接將給定的文字轉換成Java中的Class物件從而不需要再手動去寫.java檔案
阿新 • • 發佈:2019-01-01
package com.xxl.job.core.glue;
import groovy.lang.GroovyClassLoader;
import java.lang.reflect.Method;
public class Test {
@org.junit.Test
public void testGroovyClassLoader() throws Exception {
//groovy提供了一種將字串文字程式碼直接轉換成Java Class物件的功能
GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
//裡面的文字是Java程式碼,但是我們可以看到這是一個字串我們可以直接生成對應的Class<?>物件,而不需要我們寫一個.java檔案
Class<?> clazz = groovyClassLoader.parseClass("package com.xxl.job.core.glue;\n" +
"\n" +
"public class Main {\n" +
"\n" +
" public int age = 22;\n" +
" \n" +
" public void sayHello() {\n" +
" System.out.println(\"年齡是:\" + age);\n" +
" }\n" +
"}\n");
Method method = clazz.getDeclaredMethod("sayHello");
method.invoke(clazz.newInstance ());
}
}