投射通用列表

hib*_*ibc 0 java generics list instantiation

List<Integer> list0 = new List1<Integer>();
Run Code Online (Sandbox Code Playgroud)

a)java中的单词"List"是一个关键字吗?

b)创建对象时,两侧的类名不应该相同吗?例如:

Point x = new Point(1,2)
Run Code Online (Sandbox Code Playgroud)

c)以下代码是什么意思?

List<Integer> list0 = new List1<Integer>();
Run Code Online (Sandbox Code Playgroud)

DNA*_*DNA 8

a)不,它不是,它是一个 Interface

b)并非总是如此.右侧的类型必须与分配的类型兼容 - 它必须相同或者是子类型.在这种情况下List1必须实现List接口.

c)创建一个新List1实例来保存整数("整数"是错误的 - 它必须是"整数"); 这只有在List1类实现List接口时才合法.这<Integer>是一种泛型类型,用于限制集合(List)可以容纳的类型.