【发布时间】:2012-10-10 08:54:37
【问题描述】:
我无法理解为什么 java 编译器允许将非特定集合分配给已指定变量的集合。像这样:
ArrayList list = new ArrayList();
// Operations on list
ArrayList<String> stringList = list;
这可能会出现各种类型的转换错误,在我看来,如果编译器首先阻止你这样做会更有意义。
我之所以这么问只是因为我对这种语言有些奇怪的方面感到好奇,实际上我并没有让代码正常工作(尽管有一天我可能需要使用各种类型的 ArrayList其中的类)。
【问题讨论】:
-
当您将程序与使用较旧 Java 版本的应用程序或使用较旧的第三方 API 集成时非常需要实现这种类型。