私は本Java™I/O、2nd Editionを読んでいて、次のコードがあります。
try {
byte[] b = new byte[10];
System.in.read(b);
}
catch (IOException ex) {
System.err.println("Couldn't read from System.in!");
}
本からの引用:
「..収まるよりも多くのデータを配列に読み込もうとするのを妨げるものは何もありません。これを行うと、read()はArrayIndexOutOfBoundsExceptionをスローします。」
しかし、このコードを実行して10文字を超える文字を入力すると、noArrayIndexOutOfBoundsException
はスローされます。なぜそうなのですか?