В настоящее время я просматриваю исходный код java.util.ArrayList. Теперь найти функцию общественных недействительного ensureCapacity (INT minCapacity) отбрасывает массив объектов для общего массива, так же, как код ниже:Листинг массива объектов для общего массива
E[] newData = (E[]) new Object[Math.max(current * 2, minCapacity)];
Однако, когда я объявляю массив определенного типа, IDE покажет ошибка.
Object[] arr = new Object[10];
int[] arr1 = (int[]) new Object[arr.length];
Любой может рассказать мне о различиях между ними? Большое спасибо.
Одно исключение: авто-бокс, например. бокс примитивного 'int' в объект Integer. Но вы правы в действиях массива: даже при автоматическом боксировании вы не можете использовать 'int []' в 'Integer []'. –
@MattiasBeulens Но это не кастинг. Это просто обертывание значения –
@VinceEmigh Технически правильно, но это похоже на литье, поэтому я подумал, что хотя бы упомянул об этом. –