
你现在的位置 4 291
泛型
如何定义
MutableList
让我们看看在线文档如何定义
MutableList
以及它如何使用泛型。
我们将考虑两个关键环节:接口的声明和
add
方法的定义。
interface MutableList<E> : List<E>, MutableCollection<E> {
fun add(index: Int, element: E): Unit
//More code
}
理解集合文档(或者“
E
”的含义)
这是一个简单版的
MutableList
定义:
“
E
”
是声明
MutableList
时
所用实际类型的占位符
。
MutableList
继承于
List
和
MutableCollection
接
口
。
无论为
MutableList
指定哪种类型
(“
E
”
的值
)
都将自动作为
List
和
MutableC
ollection
的类型
。
“
E
”
是什么决定了可以向
MutableList
中添加哪些东西
。
MutableList
使用“
E
”作为你希望该集合保存和
返回的元素类型的替身。当你在文档中看到“
E
”
时,
你可以在大脑中进行查找
/
替换并将其转换成你希望的
任何类型。
例如,
MutableList<String>
表示在任何函数
或者变量中声明的“
E
”将变成“
String
”。而
MutableList<Duck>
意味着所有“
E
”的实例将全部
变成“
Duck
”。
让我们看看细节。
问
:
所以说MutableList不是一
个类
?
答
:
是的
,
它是接口
。
当你
使用
mutableListOf
方法创建
MutableList
时
,
系统创建了该接 ...