Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类型字符串中的方法格式(字符串,对象[])不适用于参数(…)_Java_String_Format - Fatal编程技术网

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设置为?编辑:太慢了!该死的巴卢斯!:)合规级别——我敢打赌就是这样。