Итак, насколько я понимаю, ваш предложенный ArrayList<int>
будет идентичен ArrayList<Integer>
. Это правильно? (Другими словами, внутренне он все еще хранит целое число; и каждый раз, когда вы помещаете что-либо или извлекаете его, оно автоматически упаковывает / распаковывает его, но автобокс / автоустановка уже делает это для ArrayList<Integer>
.)
Если это то же самое, то я не понимаю, какая польза от наличия дублирующего синтаксиса <int>
, что означает то же самое, что и <Integer>
. (На самом деле это создаст дополнительные проблемы, потому что, например, int[]
не тот же тип времени выполнения, что и Integer[]
, поэтому, если у вас есть T[]
, а T
- это int
, что бы это значило?)