Какова разницатипа или подкласс суперкласс типа
LinkedList<String> l1 = new LinkedList<String>();
List<String> l2 = new LinkedList<String>();
Почему l2
типа не имеет метода addFirst
в то время как l1
типа имеет метод addFirst
? даже если они оба имеют объект LinkedList
? Вопреки тому, что я читал из Гослинг «Язык программирования Java» , который гласит, что объект будет то, что вы сделали это, чтобы быть, в этом случае я сделал это LinkedList
с new LinkedList()
даже если это Перечня типа
Как я должен правильно объявить тогда?
Collection<String> c = new LinkedList<String>();
List<String> c = new LinkedList<String>();
LinkedList<String> c = new LinkedList<String>();
Спасибо за ваш ответ! Итак, вы имеете в виду ... Я всегда должен убедиться, что тип во время компиляции должен дополнять объект, на который указывает ссылка во время выполнения. – krato