转: javascripteval()实现字符串转代码java需要使用态编译 获字符串写入临文件编译调用其函数 我要转换字符串构造完整类:返值.则: public object eval(string str){ //java文件 string s = "class temp{"; s += "object rt(){" s += "myclass mc = new myclass();" s += " return mc."+str+"();"; s += "}" s +="}"; file f = new file("temp.java"); printwriter pw = new printwriter(new filewriter(f)); pw.println(s); pw.close(); //态编译 com.sun.tools.javac.main javac = new com.sun.tools.javac.main(); string[] cpargs = new string[] {"-d", "所目录","temp.java"}; int status = javac中国pile(cpargs); if(status!=0){ system.out.println("没功编译源文件!"); return null; } //调用temprt返结: myclassloader mc = new myclassloader(); class clasz = mc.loadclass("test.class",true); method rt = clasz.getmethod("rt", new class[]{ string[].class }); return rt.invoke(null, new object[] { new string[0] }); //没返直接调用 } 我先写重载eval,返值没返值.及传递参数. 我用字符串转换java语句执行