質問

コンパイラは、フォーマット文字列と必要なタイプとパラメーターにアクセスできます。ですから、ケースのサブセットだけであっても、Varargsのパラメーターが欠落していることを示す方法があると思います。 Eclipseまたは別のIDEが渡されたVarargsが実行時に問題を引き起こす可能性があることを示すためのある程度はありますか?

役に立ちましたか?

解決

FindBugが問題を解決できるように見えます。フォーマット文字列に関連するいくつかの警告カテゴリがあります。

他のヒント

Javaコンパイラには、StringFormatパラメーターのセマンティックな知識が組み込まれていないため、コンパイル時にこれらを確認することはできません。知っているすべてのことで、StringFormatは単なる別のクラスとString.Formatは単なる別のメソッドであり、指定された形式の文字列は他の文字列と同じです。

しかし、ええ、私はあなたの痛みを感じ、過去数日間にこれらの同じ問題に出くわしました。彼らがしたはずのことは、パラメーターの数について「慎重に」「あまり注意深くない」ことであり、後続の%sマーカーを除外しないままにすることです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top