我在Eclipse 3.6(Helios)中运行某些代码时遇到问题。代码是用OpenJDK 7编写的。我正在运行Windows 7,我不得不为它安装Java 7。我之前使用的是Java 6。运行代码时出现两种错误:
HashSet<?>
”我读过类似“(int)obj”的强制转换只能在Java 7中使用。在Java 6中,它必须是“(Integer)obj”。但是我将“JRE系统库”设置为JRE7,我仍然遇到了这个错误。它还在某种程度上使用JRE6吗?
第二个问题是由“Set set; set = new HashSet&lt;&gt;()”引起的。如果您将HashSet<>()
替换为HashSet<String>()
,则问题就消失了。这是另一个Java 7的变化吗?为什么它不能与我的JRE7一起使用?我的Eclipse太老了,只能运行JRE6吗?
提前致谢, 托本
答案 0 :(得分:3)
您正在描述Java 7 编译器中的新功能。
您需要使用Java 7编译器以及任何版本的JRE。