默认情况下,如果编译时常量被用作 java.util.Formatter
、java.lang.String
、java.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) {...}
以这种方式注解的方法也将被此检查识别。