2009/03/07
Javaで恐いバグ
- メソッドfooの返り値の型がint
- if (obj.foo() == obj2.foo()) のように比較
- 後でメソッドfooの返り値の型をIntegerに変更
- == の比較部分を直し忘れる (equalsメソッドで比較しなければいけません)
Javaは相対的に、この手の恐いバグが少ない言語ですが、オートボクシングで墓穴を掘りました。
FindBugsを通すと、次の警告を出してくれます。javacも -Xlint:all では警告ぐらいだしてもいい気がします。
Suspicious comparison of Integer references
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/terror-bugs2/tbping