Pass a generic Object to a list in a method - JAVA
本问题已经有最佳答案,请猛点这里访问。
我有两个问题,他们可能是愚蠢的问题,但现在我搞糊涂了。
问题1:
我有这个代码:
1 2 3 4 5 6 | private List<Car> carList; public void setData(List<Object> list) { this.carListist = list; } |
但在
我的问题是,为什么会出现这个错误?不是列出对象类型的列表car吗?为什么不接受一个物体呢?
问题2:我将上述代码更改为以下代码,错误消失:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | private List<Object> carList; public void setData(List<Object> list) { this.carListist = list; } public Object getValueAt(int row, int column) { Car car = carList.get(row); //Compiling error here switch(column) { (...) } (..) |
编译错误(在代码注释中签名)是
不管怎样,要解决问题1和2的问题吗?
并不是因为每辆车都是一个对象,所以汽车列表也是一个对象列表,在您的示例中,如果对象列表包含一条船而不是一辆车,该怎么办?