不,不是可移植的,基于JVM的实现可能会有一些诡计,但我从未见过,即使依赖它,这也是一个非常糟糕的主意。
如果要将这些值放在其他位置,则该
main函数需要以某种方式使它们可用。
一个简单的方法(不一定是 最好的 方法)是将字符串作为第一件事简单地存储起来,
main并提供一种获取它们的方法:
Scratch2.java:
public class Scratch2 { // Arguments and accessor for them. private static String[] savedArgs; public static String[] getArgs() { return savedArgs; } public static void main(String[] args) { // Save them away for later. savedArgs = args; // Test that other classes can get them. CmdLineArgs cla = new CmdLineArgs(); cla.printArgs(); }}
CmdLineArgs.java:
public class CmdLineArgs { public void printArgs() { String[] args = Scratch2.getArgs(); System.out.println ("Arg count is [" + args.length + "]"); for (int i = 0; i < args.length; i++) { System.out.println ("Arg[" + i + "] is [" + args[i] + "]"); } }}
并且,当使用参数运行时
a b c,输出:
Arg count is [3]Arg[0] is [a]Arg[1] is [b]Arg[2] is [c]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)