请问,能否把一个包含java代码字符串转变成一个类,用java程序
比如说程序里定义了String code="class CLSA{int a,b;}",然后后面某处就能调用这个string对象所定义的这个类CLSA clsa = new CLAS(); clsa.a = 0;之类的。
如此能用java实现么?
------解决方案--------------------用PrintStream把code写到文件中并保存为.java文件,然好调用javac编译system.exe(),再有class.forName()反转得到实例
------解决方案--------------------我说下我思路:
1.将这些字符串写到一个.java文件中
2.用Runtime执行javac 编译这个.java文件
3.Class.forName()反射生成Class对象,然后调用newInstance()获取实例
我没测试过,不知道可不可以。有什么问题请大家多指点
------解决方案--------------------还有
用javassist,asm这类工具
用java.lang.Compiler
模拟eclipse的编译方式,调用一个方法,具体类名忘记了,可以找找
------解决方案--------------------用javacompiler