<< 大容量ニッケル水素電池の危険性 | Home | 似たようなダイアログをいっぱい作る。 >>
PR: 転職    お墓    エコ    通販    結婚相談所    シルバー    質屋    葬式    漫画    エステサロン   

Agitator

Agitatorって静的なコード解析機能も持っているのか。知らなかった。しかしここにある"Avoid calling 'String.equals(literal)' or String.equalsIgnoreCase(literal)'"っていうのが、どういう意味なのかが気になる...



Re: Agitator

literal.equals(String)にしろっていうお約束のやつだと思います。

Re: Agitator

うーむ、そういうのを推奨するツールもあるんですか。それで"".equals(xxx)とか、if ("".equals(xxx) || xxx == null)みたいな奇妙なコードが増殖するのかな。

Re: Agitator

思いますに、"String"はUnicodeですが、equals(literal)で指定するliteralはコード上に固定されるので日本語など、コードをコンパイルする環境の文字コードに依存して固定値部分が文字化けするので国際化環境ではつかうなということでしょう。 モノのサイトではCollator を使えとあるが、やっぱりだめそうな気がする…。 As 動作環境がHP-UXだからってコードのコメントをEUCにするのはやめて…。

Re: Agitator

それならば確かに、まっとうな指摘だと思います。ただ全ての文字列リテラルに対して指摘しないと中途半端な気もしますね。new FileInputStream("テストファイル")とか。

Re: Agitator

むむ、日本語名のファイル名! これは文字コードのみならずOSのI/Oも絡めた由々しき問題ですぞ。 コード⇒変換⇒Unicode⇒Fileひらく⇒OSのI/O文字コード変換(おそらく制御不能)⇒OSのファイル名 2段階も問題が重なりますね。

コメント追加 トラックバック送信
このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8