Java 创建通用列表的列表

Java 创建通用列表的列表,java,generics,vector,project,Java,Generics,Vector,Project,如何创建通用列表的列表?我有一个接受泛型参数的Boxcar类和一个应该创建Boxcars列表的Train类。我们应该在单独的主类中指定Boxcar中的类型,因此在此之前,Boxcar必须保持泛型。下面是我编写的代码。它进行编译,但在单独的驱动程序类中,当调用load方法时,我得到错误类型Boxcar中的方法load(capture#1-of?)不适用于参数(Person) proj5包; 导入java.util.ArrayList; 导入java.util.List; 公车{ 私有列表>();

如何创建通用列表的列表?我有一个接受泛型参数的Boxcar类和一个应该创建Boxcars列表的Train类。我们应该在单独的主类中指定Boxcar中的类型,因此在此之前,Boxcar必须保持泛型。下面是我编写的代码。它进行编译,但在单独的驱动程序类中,当调用load方法时,我得到错误
类型Boxcar中的方法load(capture#1-of?)不适用于参数(Person)

proj5包;
导入java.util.ArrayList;
导入java.util.List;
公车{
私有列表>();
this.maxSpeed=maxSpeed;
this.minSpeed=minSpeed;
this.maxNumberOxCars=maxNumberOxCars;
这个位置=位置;
}
public int getMaxNumberOxCars(){
归还车辆;
}
public int getSpeed(){
返回速度;
}
公共字符串getPosition(){
返回位置;
}
public int getMaxSpeed(){
返回最大速度;
}
public int getNumBoxcars(){
归还车辆;
}

公共列表创建通用列表时,您需要提供一个类型来代替
T
。例如,包含字符串的Boxcars列表如下所示:

List<Boxcar<String>> train = new ArrayList<Boxcar<String>>();
然后就在它下面这条线:

private List<T> boxcar;
private-List-boxcar;

这意味着您传递给
new Boxcar()
的任何类型都将被传递到内部列表(以及期望对象类型为
T
的其他方法)。

在创建通用列表时,您需要提供一个类型来代替
T
。例如,包含字符串的Boxcars列表如下所示:

List<Boxcar<String>> train = new ArrayList<Boxcar<String>>();
然后就在它下面这条线:

private List<T> boxcar;
private-List-boxcar;

这意味着您传递给
new Boxcar()
的任何类型都将被传递到内部列表(以及期望对象类型为
T
的其他方法)。

Boxcar是一个泛型类:

class BoxCar<T>{


}
class-BoxCar{
}
列车等级,其中包含一个Boxcar列表:

class Train {
List<BoxCar<PassTheTypeHere>> = new ArrayList<BoxCar<PassTheTypeHere>>();

}
班列{
列表=新的ArrayList();
}

BoxCar是一种通用类:

class BoxCar<T>{


}
class-BoxCar{
}
列车等级,其中包含一个Boxcar列表:

class Train {
List<BoxCar<PassTheTypeHere>> = new ArrayList<BoxCar<PassTheTypeHere>>();

}
班列{
列表=新的ArrayList();
}

根据您原始问题的措辞,听起来您想创建一个boxcars列表

下面是所有你需要做的

private List<Boxcar> boxcarList = new ArrayList<Boxcar>(); 
private-List-boxcarList=new-ArrayList();

根据您原始问题的措辞,听起来您想创建一个boxcars列表

下面是所有你需要做的

private List<Boxcar> boxcarList = new ArrayList<Boxcar>(); 
private-List-boxcarList=new-ArrayList();

不清楚您想要实现什么,但上面的代码肯定不会编译。我认为您应该定义使用列表的类,而不是列表。不清楚您想要实现什么,但上面的代码肯定不会编译。我认为您应该定义使用列表的类,不是列表。我发现你的答案更一般:)+1你的答案不需要是
new ArrayList()
?我发现你的答案更一般:)+1你的答案不需要是
new ArrayList()
?别理我,我回答了你原来的、不太详细的问题。有了你的代码,我很明显,其他两张海报正在回答你想问的问题。别理我,我回答了你最初的、不太详细的问题。有了你的代码,我很明显其他两张海报正在回答你想问的问题。好的,谢谢。那么我如何创建Boxcars列表呢?用通配符?如果我尝试做任何其他事情,它告诉我参数化Train,我不认为Train class应该接受泛型参数,你可以在
Train
类中添加泛型,将
public class Train{
更改为
public class Train{
然后将所有出现的
Boxcar
更改为
Boxcar
。当实例化类型为
Train
的新对象时,您需要传递一个类型,如
Train t=new Train()
好的,谢谢。那我该如何创建Boxcars列表?使用通配符?如果我尝试做其他事情,它会告诉我参数化Train,我不认为Train类如果应该接受泛型参数,你可以将泛型添加到
Train
类中,更改
公共类Train{
公共类火车{
然后将所有出现的
Boxcar
更改为
Boxcar
。当您实例化
Train
类型的新对象时,您需要传递一个类似
Train t=new Train()的类型;