在Java 6中,使用泛型是可选的。没有泛型的代码确实会编译,但是Eclipse对此有问题,所以我开始怀疑在更高的Java版本中,是否需要使用泛型。
Collection<?> foo = ...编译时
Collection foo = ...再也不会了。或者:编译器会被迫这样做吗?-类似于Perl的“use strict”吗?
换句话说:人们是否应该期望将工作花在生成当前运行良好的Java源代码上,但不需要配备泛型?Oracle是否保证了代码的向后兼容性?
搜索强制泛型或java要求泛型并没有给我带来有用的信息。
发布于 2013-04-08 08:02:26
没有确切的方法可以肯定地说,但我非常怀疑Oracle是否会反对并使语法结构失效。这就像强迫你在不需要钻石的时候使用钻石推断。
我可以相当肯定地说,Oracle没有从Java中删除语法的计划。太多的人会抱怨(比如,几乎所有的事情都会破裂)。
发布于 2013-04-08 08:11:20
如果不允许使用原始类型,则不允许使用旧代码。但是,您可以配置Eclipse以生成错误。请参阅Generics类型一节中的Window -> Preferences -> ->编译器->错误/警告。
发布于 2013-04-08 08:06:27
IntelliJ也警告使用原始类型。一定也是其他的IDE。所以,我想,你的情况是使用CI/命令行进行实际构建。
您可以得到编译器警告、(Xlint:unchecked)和一些后处理。
https://stackoverflow.com/questions/15874046
复制相似问题