
正文
java动态执行代码 java动态执行代码片段
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 如何根据字符串 动态执行方法(无参和有参)
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) {
String a = "testa";
String b = "testb";
call(a);
call(b, "hello");
}
private static void call(String methodName) {
try {
Method m = Test.class.getDeclaredMethod(methodName);
m.invoke(Test.class);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void call(String methodName, String param) {
try {
Method m = Test.class.getDeclaredMethod(methodName, String.class);
m.invoke(Test.class, param);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void testa() {
System.out.println("无参数");
}
public static void testb(String c) {
System.out.println(c);
}
}
试试这个可以不。
如果解决java动态执行代码了您java动态执行代码的问题请采纳!
如果未解决请继续追问
相关问答
Q1: 在java代码中实现动态编译java文件
import javax.tools.*;
import java.io.*;
/**
* @author hardneedl
*/
final public class MyCompile {
/**
* @param args 命令行参数只有1个java动态执行代码,即待编译java动态执行代码的源代码文件的绝对路径
* @throws FileNotFoundException
*/
public static void main(String... args) throws FileNotFoundException {
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int r = compiler.run(null,null,null,args[0]);
System.out.println(r == 0? "成功":"失败");
}
}
Q2: 怎样动态执行一段JAVA代码
首先你可以使用输入输出流(或者你说的可能是要用反射得到程序结果来解析)解析做出*.Java文件。
然后可以使用runtime调用Dos下的java编译命令编译取得class文件。
然后使用classloader,反射等组合执行生成的class文件。
Q3: 页面上有个textarea,在里面写java代码,然后如何动态编译执行这段java代码??
后台获取这段代码之后,将其自动补全成一个java类。
然后将其用io生成为 .java文本文件
之后调用
Runtime.getRuntime().exec("x:/javac.exe xx.java ...") 编译
最后使用反射或者代理调用这个类文件得到结果
关于java动态执行代码和java动态执行代码片段的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







