假设我有一个通用类Generic<T>
。可以按以下方式初始化
Generic<String> gen = new Generic<String>();
正弦Java 7,可以推断出通用参数
Generic<String> gen = new Generic<>();
我想知道为什么不进行投射(gen2
是Generic<String>
的子类):
Generic<String> gen = (Generic<String>) gen2; // Compiles
Generic<String> gen = (Generic<>) gen2; // Doesn't compile
我试图想到一个陷阱或一些含糊不清,但无法找到任何陷阱。这是个坏主意吗?它是出于某种原因而提出并未实施的吗?