java执行之间的Java角色IO

时间:2011-11-11 21:36:35

标签: java io java-compiler-api

使用javax.tools.JavaCompilerjavax.tools.ToolProvider,我在一个大字符串中包含一个预定义类的用户输入字符串(应该是一个方法)并在我的代码中执行它。有没有办法(在同一个代码中)实例化编译的类(因为它在运行时不存在)来测试具有预定义案例集的函数?

示例:提示用户编写一个方法,该方法返回作为参数发送给它的相反布尔值。

所述方法中的用户类型。

我在方法周围包装了一个泛型类,并使用一组预定义的测试用例(true,false)来检查它的功能(应该得到错误,真实的回复)

1 个答案:

答案 0 :(得分:1)

或许,通过将生成的类读入byte[]并使用Classloader.defineClass(..)来解析/构造Class对象。要正确解析该类,此类引用的所有资源都应该可用于您正在使用的类加载器实例。获得Class对象后,可以实例化它并使用reflection调用该方法。