2011-01-17 10 views
8

コンパイラは、書式文字列と必要な型とパラメータにアクセスできます。だから私はvarargsの欠落しているパラメータを示すいくつかの方法があるだろうと仮定しています...ケースのサブセットの場合でも。実行時に渡されたvarargsが問題を引き起こす可能性があることを示すために、eclipseまたは別のIDEのためにはいくらかですか?コンパイル時に文句を言うstring.formatを取得する方法

+0

日食向上のためのニースのアイデア、。少なくとも静的なフォーマット文字列と固定サイズのvarargsをチェックできます。 –

+0

ここで私の答えをチェックしてください - http://stackoverflow.com/questions/24769455/java-string-format-compile-time-error-checking-and-safer-alternative-それはまだ進行中のわずかな作業です –

答えて

1

Javaコンパイラには、StringFormatパラメータの意味論的な知識が組み込まれていないため、コンパイル時にこれらをチェックすることはできません。 StringFormatは別のクラスであり、String.formatは別のメソッドであり、指定された書式文字列は他の文字列と同じものです。

しかし、ええ、私はあなたの痛みを感じ、過去のカップルの日にこれらの同じ問題に遭遇しました。彼らがしなければならないことは、パラメータの数について「あまり注意を払わない」ようにして、末尾の%sマーカーを置き換えないようにするだけです。

+0

おそらくコンパイラは言う...真実だが、多分そこにいくつかの静的解析ツールがあるのだろうか? – mafalda

関連する問題