Java 类型字符串中的方法格式(字符串,对象[])不适用于参数(…)
这是我的密码:Java 类型字符串中的方法格式(字符串,对象[])不适用于参数(…),java,string,format,Java,String,Format,这是我的密码: int hoursFormat = 1, minsFormat = 2, secsFormat = 3; String timeFormat = String.format("%02d:%02d:%02d",hoursFormat, minsFormat, secsFormat); 这会导致编译错误: 未解决的编译问题: 类型字符串中的方法格式(字符串,对象[])不适用于 参数(字符串,int,int,int) 为什么我会在这里遇到这个错误,如何修复它?您有JDK1.4或更低
int hoursFormat = 1, minsFormat = 2, secsFormat = 3;
String timeFormat = String.format("%02d:%02d:%02d",hoursFormat, minsFormat, secsFormat);
这会导致编译错误:
未解决的编译问题:
类型字符串中的方法格式(字符串,对象[])不适用于
参数(字符串,int,int,int)
为什么我会在这里遇到这个错误,如何修复它?您有
JDK1.4
或更低版本。JDK1.5
中介绍了String.format()方法
请看帖子。我将投票支持干净的构建。没有理由这样失败,特别是当您尝试手动装箱到整数时。您正在使用Eclipse吗?有时候它会变得混乱,你只需要重新构建一切。我在printf上也遇到过类似的问题。我正在使用JDK1.6.027。将法规遵从性级别设置为1.6解决了我的问题。这可以通过以下方式进行设置 项目>属性>Java编译器 您还可以参考以下线程:
格式的签名为:
public static String format(String format, Object ... args) {
return new Formatter().format(format, args).toString();
}
您的代码中似乎没有任何错误,根据我的建议,请尝试在不使用任何IDE的情况下使用console应用程序运行此应用程序(出于测试目的)。您使用的是Java 1.4版或更低版本吗?直到Java5才被引入。尝试手动将
int
s装箱到Integer
s。您正在使用eclipse吗
如果有时是这样的话,当一切似乎都是正确的时候,就会出现类似这样的问题。以下是我刚刚解决问题的方法:
- 右键单击project并转到properties->Java编译器
- 您将在下拉列表中看到最近设置的编译器符合性级别(在我的示例中为1.7)(“编译器符合性级别”)。在下面的“生成的.class文件兼容性”和“源代码兼容性”中也可以看到相同的版本
- 选中复选框:“使用默认符合性设置”
- 注意,一个较低的版本(在我的例子1.1中)被设置为:“生成的.class文件兼容性”和“源代码兼容性”。这就是问题所在,尽管eclipse显示它正在使用更高级别的编译器进行编译,但事实并非如此
- 在“编译器符合性级别”下拉列表中,选择其他级别,然后选择所需的级别。这些更改将反映在下面的“生成的.class文件兼容性”和“源代码兼容性”中
这应该已经解决了问题。方法
格式(String,Object[])
在1.4中根本不存在,它会导致一个完全不同的编译错误。如果这是真的,错误会更像“方法格式(String,int,int,int)”类型字符串未定义。此错误表示方法已识别,但参数错误。您使用的JDK品牌/版本是什么?您使用的是什么IDE?IDE项目的Java符合性级别版本设置为什么?您使用的Java版本是什么?如果您使用的是诸如Eclipse之类的IDE,Java编译器的符合性级别是什么er设置为?编辑:太慢了!该死的巴卢斯!:)合规级别——我敢打赌就是这样。