Javaで配列の次元はいくつまで作れるか

Javaで配列を定義する場合、次元数はいくつまで作れるか、知ってますか?

業務システムなんかの場合、多次元配列を使うこと自体稀で、とりあえず3次元
まで作れるのは知っていた。

が、実際のところ何次元までいけるのか、知ろうとしたことがなかった。
というか、知る必要がなかったということだ。

ところが今日、フィリピンでJava講習をしているパートナー会社の
講師の方(日本人)からメールで表題のような質問があった。
私は普段日本人相手にJavaの講習をしているが、こんな質問は
受けたことがなかった。フィリピン人は純粋だ。

で、講師の方が送ってきたサンプルソースがこんな感じのもの。

public class ArrayDimTest {
	public static void main(String[] args) {
		String[][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
  		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
  		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
  		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][]
   		      [][][][][][][][][][][][][][][][] a;
	}
}

[]が256個あるわけです。
で、これをコンパイルするとエラーになり、Eclipseだとご丁寧に

Too many array dimensions. Maximum is 255

と教えてくれる。
Java言語仕様を見ても、次元数の範囲については規定がないのだが、
コンパイラがエラーを出すのだからこれが仕様と言うことなのだろう。

で、これがわかって何のメリットがあるのか?
知的好奇心は満たされるわけだが・・・

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です