在 Java 6 中,使用泛型是可选的。没有泛型的代码确实可以编译,但是 Eclipse 对此有疑问,所以我开始想知道在更高的 Java 版本中是否需要使用泛型,例如
Collection<?> foo = ...
将编译同时
Collection foo = ...
不会了。或者:编译器可以被迫这样做吗?——类似于 Perl 的“<a href="https://stackoverflow.com/questions/8023959/why-use-strict-and-warnings">use strict”?
换句话说:人们是否应该期望工作需要花费在生成当前运行良好但没有配备泛型的 Java 源代码上?Oracle 是否有一些代码向后兼容性保证?
搜索force generics或java require generics并没有让我找到有用的信息。