【发布时间】:2013-06-10 19:18:32
【问题描述】:
我在 Eclipse 3.6 (Helios) 中运行某人的代码时遇到问题。代码是用 OpenJDK 7 编写的。我运行的是 Windows 7,我必须为它安装 Java 7。我之前使用的是 Java 6。运行代码时出现 2 种错误:
- “不能从 Object 转换为 int”(又名:double、long、boolean)
- “无法实例化类型
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?
提前致谢, 托本
【问题讨论】:
标签: casting java-7 instantiation eclipse-3.6