这是我的代码:
int hoursFormat = 1, minsFormat = 2, secsFormat = 3;
String timeFormat = String.format("%02d:%02d:%02d",hoursFormat, minsFormat, secsFormat);
这会产生编译错误:
Unresolved compilation problem:
The method format(String, Object[]) in the type String is not applicable for the
arguments (String, int, int, int)
为什么我在这里收到此错误以及如何解决?
答案 0 :(得分:15)
我遇到了与printf类似的问题。我使用的是JDK 1.6.0_27。将合规性级别设置为1.6解决了我的问题。这可以通过以下方式设置。
项目>属性> Java编译器
您还可以参考以下主题:
答案 1 :(得分:2)
您使用的是Java 1.4或更低版本吗?直到Java 5才引入Autoboxing。尝试将int
手动装箱到Integer
s。
答案 2 :(得分:0)
您拥有jdk 1.4
或更低版本。 String.format()方法在Jdk 1.5
。
查看coderanch帖子。
答案 3 :(得分:0)
我要投票支持干净的版本。没有理由它会像这样失败,尤其是当您尝试手动装箱到整数时。你在用Eclipse吗?有时会让人感到困惑,你只需要重建一切。
答案 4 :(得分:0)
格式的签名是:
public static String format(String format, Object ... args) {
return new Formatter().format(format, args).toString();
}
并且在您的代码中似乎没有任何错误,因为我的建议尝试使用控制台应用程序运行它而不使用任何IDE(用于测试目的)。
答案 5 :(得分:0)
你在使用eclipse吗?
如果有的话,如果一切似乎都是正确的话,会出现这样的问题。以下是我刚刚解决的问题:
现在:
这应该可以解决问题。