作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我只将 X 类的名称存储在字符串中时,有没有办法从另一个类(在同一个项目但不同的包中)运行 X 类的方法 - 假设我不知道程序启动之前存在哪些类,并且我扫描 .java 文件的目录,然后将这些名称存储到字符串中。
例如,我有 A 类,它具有函数“main”和“method1”——我的程序将 A 类的名称从其文件中获取到 String 中。然后我希望能够运行 main 或 method1 函数,但我不确定如何操纵 s 到达那里......我试过的一件事是这个,但我只是得到异常错误并且不知道它是否在正确的轨道,有什么建议吗?:
//gets the filename from JFileChooser method_fc
File file = method_fc.getSelectedFile();
try {
Class c = Class.forName(file.getName());
Method method = c.getDeclaredMethod("main");
Object instance = c.newInstance ();
Object result = method.invoke(instance);
} catch (Exception e) {
System.out.println("Cannot access class: "+e.getMessage());
}
最佳答案
您可以这样做,但要考虑到类名不以“.java”或“.class”结尾(您可以将其删除)。
关于java - 当我在运行时只能在字符串变量中找到它的名称时,我该如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6870024/
背景: 我正在使用的 Jenkins 插件是: Bitbucket 插件 Bitbucket Pullrequest Builder 插件 我工作的公司正在使用 Jira + Bitbucket。 我
我是一名优秀的程序员,十分优秀!