что это значит в ArrayList в Java - PullRequest
1 голос
/ 29 мая 2011

Я новичок в Java, и я видел такой пример ArrayList.

  listing = new ArrayList<Lot>();

Я знаю, что если я хочу создать пустой список массивов.Тогда я буду использовать ArrayList()

Но я не понимаю, что такое <Lot> между "ArrayList" и "()".

Может кто-нибудь объяснить этомне?

Спасибо

Ответы [ 4 ]

4 голосов
/ 29 мая 2011

Он называется параметром типа.Это означает, что ArrayList будет содержать только объекты типа Lot Проверьте понятие Generics .

Вы получите возможность использования этого ArrayList<Lot> с этим примером:

// (a)Without Generics ....   
List myIntList = new ArrayList();                  // 1
myIntList.add(new Lot(0));                         // 2
Lot x = (Lot) myIntList.iterator().next();         // 3 


// (b)With Generics ....
List<Lot> myIntList = new ArrayList<Lot>();        // 1’
myIntList.add(new Lot(0));                         // 2’
Lot x = myIntList.iterator().next();               // 3  

Два пункта, которые следует отметить в приведенном выше примере, например:

  1. В e.g(b), Поскольку мы уже указали, что ArrayList будет содержать только объекты типа Lot, in Line 3, нам не пришлось выполнять приведение его к типу объекта Lot.Это потому, что компилятор уже знает, что у него будут только объекты типа «Лот».
  2. Попытка добавить любой другой тип объекта к e.g (b) приведет к ошибке времени компиляции.Это связано с тем, что компилятор уже определил, что этот список содержит элементы только типа LotЭто называется type checking
4 голосов
/ 29 мая 2011

Это Java Generics. <Lot> указывает, что ArrayList будет содержать только объекты типа Lot. Это полезно, потому что компилятор может проверять тип вашего ArrayList.

0 голосов
/ 14 февраля 2015
listing = new ArrayList<Lot>();

эта строка просто говорит о том, что тип объектов, которые будут вставлены, обновлены, извлечены в ArrayList , относится к типу Lot .Это то, что называется дженериками в java.
Использование приведения типов дженериков не требуется во время извлечения объектов из любого Списка.

0 голосов
/ 29 мая 2011

Это расширение системы типов Java, называемое Generics .

Generics позволяет вам создать List, который содержит определенный подтип Object s (илиопределенный набор Object s, которые реализуют определенные интерфейсы, вместо коллекции, которая содержит только простые Object s.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...