- PR -

String#equals()を明示的に使うべきか?

投票結果総投票数:55
必ず使うべき 52 94.55%
使うべき 0 0.00%
使ったほうがいい 0 0.00%
場合による 1 1.82%
どちらでもいい 0 0.00%
使わなくていい 0 0.00%
使わないほうがいい 0 0.00%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
まいるどきゃっと
大ベテラン
会議室デビュー日: 2004/08/12
投稿数: 135
お住まい・勤務地: 群馬
投稿日時: 2007-04-07 01:32
結局、テストケースのバグでテスト対象のバグが見つけられないのを言語の仕様で何とかしてほしいのか、それともequalsメソッドが気に入らないから==で同じことを出来るようにしてほしいのかどっちなんでしょう?
あぶぽん
大ベテラン
会議室デビュー日: 2005/10/20
投稿数: 205
投稿日時: 2007-04-08 02:51
まいるどきゃっとさん、

引用:

まいるどきゃっとさんの書き込み (2007-04-07 01:32) より:
結局、テストケースのバグでテスト対象のバグが見つけられないのを言語の仕様で何とかしてほしいのか、それともequalsメソッドが気に入らないから==で同じことを出来るようにしてほしいのかどっちなんでしょう?



そのふたつの選択肢はまいるどきゃっとさんが考えられたのですか?
僕はその発言はしていないと思います。

その選択肢に関してコメントをいうなら、

前者は、バグでないからテストケースが通るわけで、そのことに関して、
言語仕様で直す必要はないと思います。

後者は、equalsメソッドについて言及していますが、その件については、
僕は現状、どちらとも決めかねるという姿勢をとっています。

そしてこの投票の趣旨は、あくまで変わらず、
String#equals()を明示的に使いべきか?
ということです。

なぜ、あえて、「明示的に」ということばを使っているかといえば、
質問した時点では、「==」演算子が暗黙的に文字列の比較をしているものと
勘違いしていたためですが、その件に関しては、他の方のコメントで解決している問題です。

この掲示板での議論が続いている理由は、話が展開していき、
このコメントを書いている現在では、

String#equals()は言語として美しいか

という、少し宗教的な議論をしていて、冷静な目でいろんな意見をお聞きしたいからです。

ここで議論を進めて、今後のJavaの方向性として、どうあるべきかを提案していければと
考えています。

この時点で、「結局どうなの?」という答えはないものと思っています。

スキルアップ/キャリアアップ(JOB@IT)