主要的args []只需要十个元素?

时间:2013-08-11 16:40:11

标签: java scjp

在Oracle University for Java认证的视频中,讲师只是说“args的大小是10,所以我们最多只能发送10个元素”。有人听说过这个吗?

我刚尝试过,但这似乎不对。

package tests;

public class MainArgsSize {

    public static void main(String[] args) {
        for (String st : args) {
            System.out.println(st);
        }
    }
}
java tests.MainArgsSize 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

2 个答案:

答案 0 :(得分:2)

来自Java文档:

  

Java应用程序可以从命令行接受任意数量的参数。

[source]

但是,这些参数以数组的形式传递。从这个链接:Do Java arrays have a maximum size?,数组的大小被讨论为:

Integer.MAX_VALUE - 5

因此,这应该是限制。

编辑:感谢@MrLore,他在上面的评论中提供了以下链接讨论Unix机器的限制:

http://www.in-ulm.de/~mascheck/various/argmax/#results

答案 1 :(得分:0)

我很确定技术上的限制是2147483647,或者是Integer.MAX_VALUE。也许讲师指的是您的特定项目的业务规则?