请问这句是什么意思? public boolean addAll(int index, Collection<? extends E> c)

2024-12-22 15:10:45
推荐回答(4个)
回答1:

这个方法的意思是:往指定列表的index位置插入集合c的所有元素,操作成功返回true,否则返回false。
?:表示通配符;E:表示Collection里的Element(元素);
第二个参数 Collection c 表示的是 Collection c中的元素只能是E及其子类的对象。而泛型E只有E的对象。还有这种形式的List声明的List 能且仅能存放Child及其父类对象。
你所问的这个方法在API里有具体的说明,如下:
boolean addAll(int index,Collection c)将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。将当前处于该位置的元素(如果有的话)和所有后续元素向右移动(增加其索引)。新元素将按照它们通过指定 collection 的迭代器所返回的顺序出现在此列表中。如果在操作正在进行中修改了指定的 collection,那么该操作的行为是不确定的(注意,如果指定的 collection 是此列表,并且它是非空的,则会发生这种情况。)

参数:
index - 将指定 collection 的第一个元素所插入位置的索引
c - 包含要添加到此列表的元素的 collection
返回:
如果此列表由于调用而发生更改,则返回 true
抛出:
UnsupportedOperationException - 如果列表不支持 addAll 操作
ClassCastException - 如果指定 collection 中某个元素的类不允许它添加到此列表
NullPointerException - 如果指定的 collection 包含一个或多个 null 元素,并且该列表不允许 null 元素,或者指定的 collection 为 null
IllegalArgumentException - 如果指定 collection 的元素的某些属性不允许它添加到此列表
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index > size())

回答2:

可以理解是:继承于 E 的泛型

E应该是类中某个泛型。

回答3:

第二个参数 是让你传入一个容器 并且容器中的对象 只能是E类的对象 或者E类子类的对象

也就是传入一个只能存放E类和E子类对象的容器

这里不是继承而是定义

回答4:

好专业啊