有人可以向我解释为什么这段代码无法编译吗?
即使它使用泛型类而不提供特定类型 T,它也应该能够在编译时识别 ArrayList 包含字符串。
public class Test {
public static void main(String[] args){
Container container = new Container();
container.strings.add("test");
String s1 = container.strings.get(0); // does not compile
ArrayList<String> local = container.strings;
String s2 = local.get(0); // does compile
}
static class Container <T>{
ArrayList<String> strings = new ArrayList<String>();
}
}