我尝试从另一个传递参数的方法调用类的main方法,就像从命令行运行类时一样。有没有办法做到这一点?
发布于 2010-11-08 17:17:08
您可以像调用任何其他(静态)方法一样调用main
方法:
MyClass.main(new String[] {"arg1", "arg2", "arg3"});
示例:
class MyClass {
public static void test() {
MyClass.main(new String[] {"arg1", "arg2", "arg3"});
}
public static void main(String args[]) {
for (String s : args)
System.out.println(s);
}
}
发布于 2010-11-08 17:11:28
是的,main方法可以像调用任何其他方法一样调用,因此如果您有一个带有main方法的类Test,则可以从任何其他类调用它,例如:
Test.main(new String[] { "a", "b" });
这样,您将传递"a“和"b”作为参数。
发布于 2010-11-08 17:12:07
你有没有尝试过这样的东西:
// In your method
String[] yourArgs = new String[] {"foo", "baz", "bar"};
YourClassWithMain.main(yourArgs);
但我认为这不是一个好主意,main()方法应该只包含一些调用构造函数的非常基本的代码。您不应该直接调用它,而应该创建另一个类的新实例,该实例将执行所有需要的初始化。
https://stackoverflow.com/questions/4122455
复制相似问题