我无法理解为什么java编译器允许为非特定集合分配已指定变量的集合.像这样:
ArrayList list = new ArrayList();
// Operations on list
ArrayList<String> stringList = list;
Run Code Online (Sandbox Code Playgroud)
在这种情况下可能存在各种类型的转换错误,在我看来,如果编译器阻止你首先执行此操作会更有意义.
我只是问,因为我很好奇这个语言的这个有点奇怪的方面,我实际上并没有让代码工作有困难(虽然我可能有一天我需要使用一个包含各种类的ArrayList它).