
No.2ベストアンサー
- 回答日時:
確か以前、ニュースでそういうツールの記事を読んだ覚えがあるなぁと思って探してみました。
確かこれだったと思います。
FindBugs
http://journal.mycom.co.jp/articles/2006/09/23/f …
確か、Stringを==で比較している場合の警告もしてくれるはずです。
ただ、私は使ったことないので、どこまで使えるのかは、自信はありません。
使うなら、ご自身でよく調べてからにしたほうがよいと思います。
参考URL:http://journal.mycom.co.jp/articles/2006/09/23/f …
ありがとうございます 感謝感激です。
こんなツールを探していました!!
早速、試してみます。
やっぱり書き込んでみてよかった!!
PecoPlusさんありがとうございました。
No.4
- 回答日時:
eclipseという総合開発環境?がありますが、
確かあれでは文字列の比較を「==」で実行していると警告が出たと思います
不要なimportなども教えてくれるので、試してみては如何でしょうか?
回答ありがとうございます。
eclipseを使用してみたのですが、
残念ながら、javaコンパイラーのエラー・警告設定で、文字列の比較を「==」での警告設定は、ありませんでした。
No.3
- 回答日時:
普通,よほど条件がそろっていないと,動いてしまうことはないと思います.
でも,ちゃんと動いているという話なので,こういう可能性もあるという話をあげておきます.
もしも,その比較している文字列が,java.lang.Stringのinternメソッドによって得られた正準表現であるという前提があるなら == で比較しても問題ありません.
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/ja …
同じ理由で,文字列リテラルのみを比較している場合も動作するでしょう.
もちろん,単に考えなしに == で比較してしまっているだけの可能性もあるわけですが,その辺は前後のコードもちゃんと読まないとわからないでしょう.
なんとなく動いてしまっている理由は下記サイトで理解する事が出来ました。
http://www.nextindex.net/java/String.html
単体テストでNGにならなかったのは、たまたま条件がよかっただけのようです。
たぶん製作者は、SN1701さんにご回答頂いたような事まで、意識しているものではなく、ただ単純なコーディングミスだと思われます。
今回の件では、ある意味とても勉強になりました。
私自身JAVAの文字列比較は教えられたままに(equals)を使っていただけなのですが、String オブジェクトについて理解が深まりました。
回答ありがとうございました。
No.1
- 回答日時:
5万ステップ程度なら検索・置換で検索結果が色つきになるテキストエディタとかを使って追ってくしかないんじゃないかな。
どの == にも前後に規則性があるなら正規表現検索で更に楽になると思うけど・・・純粋に数値比較でも使われているだろうから何とも
やっぱりすべての==を、確かめていくしかないですかね・・・
何かあっと驚く、夢見たいな方法を知っている方がいらっしゃらないか、着手する前に書き込んで見たのですが・・・
コンパイラー君も、「想定している型と違うよ」ってな具合に警告でも出してくれれば・・・
とりあえず、もう少し先輩諸氏の回答を待ってから着手したいと思います。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- 日本語 「名詞+的」で「形容動詞」? 9 2023/01/26 18:30
- 統計学 統計方法 3 2022/10/16 17:40
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/21 16:01
- メディア研究 ネット依存に関して 4 2022/10/07 09:31
- その他(教育・科学・学問) 【数学】数学に精通している方、博識な方にに質問です。 3 2022/08/12 15:55
- 英語 "beside"と比較級の共起の可否について 5 2022/11/15 09:51
- Excel(エクセル) 配列操作について 5 2023/04/18 07:27
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
getActionCommand() とgetText(...
-
サーブレットとJSPの連携
-
C# マルチスレッドにおける例外...
-
文字列比較に 比較演算子(==...
-
VB.Net Object型 空かどうか
-
VBA Evaluate関数 型が一致しま...
-
C#の捕捉されない例外処理の対...
-
0除算の例外処理ができない!!...
-
nullで、return出来るのはどん...
-
アサーションと例外処理の違い...
-
【java】ファイル名から画像を取得
-
WebClient()以外でネットにアク...
-
javaでメインクラスが見つから...
-
レコード件数の表示
-
doGetとdoPostの違い
-
エクセルVBAで、条件に一致する...
-
onBlurとonFocusの処理順序につ...
-
mainメソッドのthrows節で設定...
-
変数名の付け方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
VB.Net Object型 空かどうか
-
数字か文字列かを判定する関数
-
VBA Evaluate関数 型が一致しま...
-
【JAVA】与えられた金額を貨幣...
-
VC++におけるCStringの変換
-
連続する「\\」をひとつの「\\...
-
文字列からダブルクオートの削除
-
C#の捕捉されない例外処理の対...
-
ファイルダイアログを開いた時...
-
C# マルチスレッドにおける例外...
-
0除算の例外処理ができない!!...
-
時間の取得
-
Timestamp型への変換について(J...
-
例外ってIf文の中に入れますか...
-
Excelでのエラー
-
文字列が数字のみで構成されて...
-
VB.NETで16進数が正しいかどう...
-
String型の日付(2005/11/25)の...
-
VBA 400エラー 1004エラー
おすすめ情報