如何在编译时获取string.format进行抱怨

时间:2011-01-17 21:38:38

标签: java eclipse string.format

编译器可以访问格式字符串AND所需的类型和参数。所以我假设有一些方法来指示varargs的缺失参数......即使只是一个案例的子集。是否存在eclipse或其他ide表示传递的varargs可能在运行时导致问题?

2 个答案:

答案 0 :(得分:10)

看起来FindBugs可以解决您的问题。有一些与格式字符串相关的警告类别。

答案 1 :(得分:1)

Java编译器没有StringFormat参数的任何内置语义知识,因此在编译时无法检查这些参数。尽管如此,StringFormat只是另一个类而String.format只是另一个方法,而给定的格式字符串只是另一个字符串。

但是,在过去的几天里,我感受到了你的痛苦,遇到了同样的问题。他们应该做的是让它对参数的数量“不那么小心”,只留下尾随的%s标记未被替换。