【问题标题】:Input parameters in javajava中的输入参数
【发布时间】:2012-05-09 02:39:00
【问题描述】:

我想知道为什么Java程序在运行时只从命令行获取字符串形式的参数?我有read,如果参数被声明为 int,它仍然会将 int 转换为 String。为什么会这样?在运行 java 程序时,有没有办法只接受来自命令行的 int 值?

【问题讨论】:

  • 您提供的链接似乎回答了您的问题
  • 你根本没有读过。请参阅链接中的 Jon Skeet'e 评论。

标签: java


【解决方案1】:

我已经读过,如果参数被声明为 int,它仍然会将 int 转换为 String。

你读错了。如果main() 方法采用其他任何String[] args,则它不会被JVM 识别为有效的入口点。

如果您希望接受整数参数,您的 main 方法仍然必须接受String[] args,并且您必须自己执行转换。

【讨论】:

    【解决方案2】:

    无论如何,您都从命令行传递字符(只是因为键盘上没有“整数”)。因此,您需要将这个 char 数组(包装成 String)转换为整数。

    【讨论】:

      【解决方案3】:

      字符串更通用,因为它们可以保存任何值,甚至可以作为 int 的代表。如果您想在命令行中传递一个 int,您可以自己将字符串转换为 int。

      int val = Integer.parseInt(arg[0]);
      

      main方法的有效签名是

      public static void main(String[] args)
      

      没有其他参数结构将被视为主函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-26
        • 1970-01-01
        • 2019-05-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多