2

我在 Eclipse 3.6 (Helios) 中运行某人的代码时遇到问题。代码是用 OpenJDK 7 编写的。我运行的是 Windows 7,我必须为它安装 Java 7。我之前使用的是 Java 6。运行代码时出现两种错误:

  1. “不能从 Object 转换为 int”(又作:double、long、boolean)
  2. “无法实例化类型HashSet<?>

我读到像“(int)obj”这样的强制转换只能在Java 7中使用。在Java 6中它必须是“(Integer)obj”。但是我将“JRE 系统库”设置为 JRE7,但仍然出现该错误。它仍然以某种方式使用JRE6吗?

第二个问题是由“Set set; set = new HashSet<>()”引起的。如果你替换为 ,问题就消失HashSet<>()HashSet<String>()。这是 Java 7 的另一个变化吗?为什么它不适用于我的 JRE7?我的 Eclipse 是否太旧,只能运行 JRE6?

在此先感谢,托本

4

1 回答 1

3

您正在描述 Java 7编译器中的新功能。

您需要将 Java 7 编译器与任何版本的 JRE 一起使用。

于 2013-06-10T19:21:01.373 回答