当前位置: 首页 > 面试题库 >

如何使用Java从另一个类获取命令行参数

松英喆
2023-03-14
问题内容

所以假设我有一个Java包…

它具有main方法和main方法

然后还有很多其他的类.....

我的问题是,是否有可能从其他不属于主类但位于同一包中的其他类中获取传递给main方法的args …


问题答案:

不,不是可移植的,基于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]


 类似资料:
  • 我想制作一个打开另一个java程序的程序。如何在编译和运行java程序时运行/执行cmd命令。 例如c:\Users\Burnok 如何在java程序中实现这一点?请帮忙。 我尝试了这段代码,但编译成功,但如果我尝试运行HelloWorld。类它表示无法找到或加载主类。 以下是java src/HelloWorld stderr的错误:错误:无法找到或加载主类src。你好世界

  • 问题内容: 我有两节课 在ABC班 我想在另一个课程中使用它,让我们说DEF课程 但是它说java.lang.NullPointerException,你知道吗?谢谢 这是我的ABC类的代码,我想在另一类> _ <中使用它们 问题答案: 您需要在内存中分配ABC,否则它指向,因此NullPointerException: 编辑 :好的,如果ABC没有像这样的零参数构造函数: 您有两种选择来解决您的

  • 问题内容: 我正在使用eclipse,因此将运行配置设置为 -Dspring-boot.run.arguments =-person.name = firstName 但是,当运行我的应用程序时,出现异常,因为“无法解析值“ $ {person.name}”中的占位符“ person.name”” 问题答案: 这段代码可以正常工作(Spring Boot 2.1.4): 命令行: 输出:

  • 问题内容: 当用户访问在我的flask应用程序上运行的URL时,我希望Web服务能够处理问号后指定的参数: 问题答案: 使用得到解析查询字符串的内容:

  • 当我在终端中点击curl代码时,我得到了200,所以我假设我编写testStytch的方式到目前为止还可以。但是,一旦我试图集成到java文件中,我就会收到错误的请求响应。我现在有点不知所措。https://github.com/libetl/curl这就是我所说的转换curl代码。 这是我得到的错误。https响应代理{HTTP/1.1 400错误请求[日期:星期四,2021 23:21:424

  • 问题内容: 使用.load()(或任何jQuery ajax函数)从域中的任何位置请求数据都很好。 但是,尝试访问其他域中的URL无效。你怎么做呢?另一个领域也恰好是我的。 我读到一个技巧,您可以使用PHP并制作一个获取内容的代理,然后在服务器上的php位置上使用jQuery的ajax函数,但这仍在您自己的服务器上使用jQuery ajax,因此这不算在内。 有没有好的插件? 编辑: 我发现了一个