Сегодня я работал над массивами, и внезапно я наткнулся на сценарий, в котором были неожиданные исключения.
Если вы посмотрите на код ниже, я думаю, что он должен бросить ArrayIndexOutOfBoundsException
, но на удивление бросает IllegalArgumentException
вместо этого:
import java.util.Arrays;
public class RangeTest {
public static void main(String[] args) {
int[] a = new int[] {0,1,2,3,4,5,6,7,8,9};
int[] b = Arrays.copyOfRange(a, Integer.MIN_VALUE, 10);
// If we'll use Integer.MIN_VALUE+100 instead Integer.MIN_VALUE,
// OutOfMemoryError will be thrown
for (int k = 0; k < b.length; k++)
System.out.print(b[k] + " ");
}
}
Может ли кто-нибудь помочь мне и сообщить, если я ошибаюсь?