これが私のコードです:
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)
ここでこのエラーが発生するのはなぜですか?どうすれば修正できますか?
Printfでも同様の問題が発生しました。 JDK1.6.0_27を使用しています。コンプライアンスレベルを1.6に設定すると、問題が解決しました。これは次のように設定できます。
プロジェクト>プロパティ> Javaコンパイラ
次のスレッドを参照することもできます。
Javaバージョン1.4以下を使用していますか? Autoboxing はJava 5。手動でボクシングを試してくださいint
sからInteger
s。
フォーマットの署名は次のとおりです。
public static String format(String format, Object ... args) {
return new Formatter().format(format, args).toString();
}
コードに間違いはないようです。私の提案では、IDE(テスト目的)を使用せずにコンソールアプリケーションでこれを実行してみてください。
クリーンビルドに投票します。特に手動で整数にボックス化しようとした場合、このように失敗する理由はありません。 Eclipseを使用していますか?時々混乱し、すべてを再構築する必要があります。
jdk 1.4
以下のバージョンがあります。 String.format()メソッドはJdk 1.5
に導入されています。
coderanch postを見てください。
Eclipseを使用していますか?
その場合、すべてが正しいと思われるときに、このような問題が発生することがあります。これが私がちょうどそれを解決した方法です:
今:
これで問題は解決したはずです。