Java 7:无法从Object转换为int等

时间:2013-06-10 19:18:32

标签: casting java-7 instantiation eclipse-3.6

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

  1. “无法从Object转换为int”(另请:double,long,boolean)
  2. “无法实例化类型HashSet<?>
  3. 我读过类似“(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吗?

    提前致谢, 托本

1 个答案:

答案 0 :(得分:3)

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

您需要使用Java 7编译器以及任何版本的JRE。