標準の Java 構文に準拠していない書式設定文字列を報告します。

このインスペクションはコンパイル時定数が java.util.Formatterjava.lang.Stringjava.io.PrintWriter、または java.io.PrintStream の対応するメソッドの引数として使用されている場合、それをデフォルトで書式設定文字列と見なします。

例:


  String.format("x = %d, y = %d", 42);

文字列書式設定に関連する追加のクラスとメソッドをマークするには、インスペクションの設定を使用します。

代わりに、org.intellij.lang.annotations.PrintFormat アノテーションを使用して、文字列書式設定メソッドのパラメーターをマークできます。 この場合、書式設定引数パラメーターは、書式設定文字列の直後にある最後のメソッドパラメーターである必要があります。 例:


  void myFormatMethod(int mode, @PrintFormat String formatString, Object... args) {...}

このようにアノテーションが付けられたメソッドも、このインスペクションによって認識されます。