我在Google上查找了一下,但是并没有真正理解如何做到这一点。我正在尝试像这样向列表中添加项目:List<?>
。我的代码大致如下:
public class Test {
private List<?> list;
public Test(List<?> useThisList) {
this.list = useThisList;
}
public void add(Object add) {
this.list.add(add); // this won't compile
}
}
然而,正如评论中所述,那段代码无法编译。我尝试将其更改为类似以下内容的代码:
public void add(? add) {
this.list.add(add);
}
但是由于更加明显的原因,它无法编译。有没有人知道我需要更改什么才能使其正常工作?提前感谢!
顺便说一句,当它真正起作用时,您应该能够这样做:
List<String> list = new ArrayList<String>();
new Test(list).add("hello");
add
添加到其中?也许你的Test
类应该是泛型的... - Jon Skeet