Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在ArrayList<;中添加元素;?扩展SomeType>;通过一种方法_Java_Generics_Arraylist - Fatal编程技术网

Java 如何在ArrayList<;中添加元素;?扩展SomeType>;通过一种方法

Java 如何在ArrayList<;中添加元素;?扩展SomeType>;通过一种方法,java,generics,arraylist,Java,Generics,Arraylist,我想向ArrayList添加元素扩展类型 ArrayList<? extends Type> ArrayList考虑一下您的定义:ArrayList如果您为列表定义了所有对象,那么所有对象都必须具有相同的类型 如果要插入多个类定义的简单列表,可以插入扩展类型的对象 例如: List<Type> list = gellAllItems(class); list.add(T); List List=gellAllItems(类); 列表。添加(T); 我不确定您对get

我想向ArrayList添加元素扩展类型

ArrayList<? extends Type> 

ArrayList考虑一下您的定义:
ArrayList如果您为列表定义了所有对象,那么所有对象都必须具有相同的类型

如果要插入多个类定义的简单列表,可以插入扩展类型的对象

例如:

List<Type> list = gellAllItems(class);
list.add(T);
List List=gellAllItems(类);
列表。添加(T);

我不确定您对
getAllItems
返回值的声明,但是您不能将
项添加到
类型
t extensed type
数组中,您的问题中既有
某个类型
又有
类型
,这是一个打字错误吗?不,我的代码中有正确的类型。所以无论我们提到t,它的意思是它返回一个?的列表。但是
T
在整个过程中都是一样的。但是当我每次调用函数时,我也需要通过类来消除这个问题吗?就像调用method()?方法
addItem
不需要它。对于
getAllItems
您可能需要它,但由于您尚未共享此方法的代码,因此我无法确定是否可以删除此参数。试着问另一个问题并分享更多代码。
public <T extends Type> void addItem(T itemToAdd, Class<T> classType) {
    List<T> allItems = getAllItems(classType);
    allItems.add(itemToAdd);
}
public <T extends Type> List<T> getAllItems(Class<T> classType)
List<Type> list = gellAllItems(class);
list.add(T);
ArrayList<? super Type> allItems;
ArrayList<Type> allItems;