2

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

4

3 回答 3

3

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

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

主要方法的有效签名是

public static void main(String[] args)

没有其他参数结构将被视为主要功能。

于 2012-04-28T17:53:42.433 回答
1

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

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

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

于 2012-04-28T17:51:10.577 回答
0

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

于 2012-04-28T17:52:55.533 回答