【发布时间】:2014-06-23 18:54:39
【问题描述】:
由于某种原因,在 Eclipse 中,对于“格式”,我在此处收到错误“将 'i' 的类型更改为 'Object[]'”:
int i = 461012;
System.out.format("The value of i is: %d%n", i);
我在使用 JDK 7 和 8 时遇到此错误(为了安全起见,我尝试依次重新安装这两个版本,并尝试了最新的 eclipse 下载)。
我很困惑为什么我不能在这里使用 int。此示例直接来自 Oracle 文档的格式。 printf 给出了同样的错误。
人们会认为,如此简单的东西应该是健壮和可靠的。
编辑中:
抱歉,这是对我不起作用的完整代码。
public class Main {
public static void main(String[] args) {
int i = 461012;
System.out.format("The value of i is: %d%n", i);
}
}
当我将鼠标悬停在“格式”上时,这正是我在 Eclipse 中看到的内容:
PrintStream 类型中的方法 format(String, Object[]) 不是 适用于参数(String, int)
1 个快速修复可用:
将“i”的类型更改为“Object[]”。
这有帮助吗?
【问题讨论】:
-
请打印出准确的完整错误消息,以及您正在使用的准确代码。我怀疑问题存在于我们没有看到的代码中。
-
这对我来说似乎很好用。您能否将整个代码发布为错误消息。 (对不起,我不小心做了这个回答)。
-
在您发布完整的堆栈跟踪和您正在使用的代码之前,我认为这不会起作用
-
变量
foo没有出现在您发布的代码中的任何位置 -
在这里工作正常。您显然没有向我们展示失败的实际代码,如果没有代码和实际错误消息(复制/粘贴,而不是解释),我们将无能为力。