1. 程式人生 > >groovy 直接將給定的文字轉換成Java中的Class物件從而不需要再手動去寫.java檔案

groovy 直接將給定的文字轉換成Java中的Class物件從而不需要再手動去寫.java檔案

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