我不知道标识符在这个示例中的作用,我是编程的新手,我意识到ArrayList<String>
创建了字符串列表,与{{1}相同但是当你在标识符中推送一个类时会发生什么,例如 - LinkedList<String>
- 而LinkedList<Song>
是一个类。提前谢谢。
Song
答案 0 :(得分:2)
String
是一个类Song
也是一个类。这意味着您只能将此类的对象插入List
。不允许添加其他类的对象,因为类型不匹配。尝试这样做会导致编译错误。所以你的列表是类型保存。此功能称为generics。
答案 1 :(得分:1)
但是当您在
class
中推送identifier
时会发生什么?
首先,它不是标识符Type
,这就是Generics的工作原理,您在Type
之间传递<>
,因此编译器知道此Generic类(此处为Collection)的预期Type
。收藏集List
,Set
...是Generics实施的好例子。
和Song
一样, String
类也是java.lang
包中的预定义类,所以当你通过时作为集合的一个类,编译器会期望此集合中的所有元素都是Type
。
例如在您的代码中:
LinkedList<Song> playlist = new LinkedList<Song>();
所有playlist
项都应该是Song
类的实例。