1. ホーム

[解決済み】$NON-NLS-1$の意味は何ですか?

2022-03-26 05:46:52

質問

Eclipseのソースコードで、コメントの中に「$NON-NLS-1$」が使われているのを見つけたのですが、これは何ですか?

private String toolTip = ""; //$NON-NLS-1$

どういう意味ですか?

解決方法は?

Eclipseが文字列リテラルに遭遇したときに発する警告を黙らせるのです(そして文句を言うように設定されている)。

UIメッセージは文字列リテラルとして埋め込まれるのではなく、(翻訳や校正などができるように)リソースファイルから供給されるべきであるということです。その結果、Eclipse は文字列リテラルを検出するように設定することができ、誤って外部化されていない UI 文字列をコードに残さないようにします。しかし、外部化すべきではない文字列(正規表現など)もあるため、 //$NON-NLS-1$ はその事実をコンパイラーに伝達する方法を提供します。