アカウント名:
パスワード:
Javaはこういうアホな仕様を排除してて良いんだよね。
オブジェクト同士の == が参照が同じかどうか比較というアホな仕様をどうにかしてくれませんかね。
(Cでいう)ぽぽぽポインタの比較だから!あ、あってるから!
普通equls()を使うよな。使うというか作るのだが。オーバーライドセずにそのまま使うと==と同じことになるし。ま、オブジェクトは==を使えないようにして参照先の比較はcheckPointer(obj1,obj2)とかにすればもっとよかったんだろうけど。初心者はStringとStringを==で繋いじゃうんですよねー。=でつなぐ人もいますけど。まぎらわしーよねー。
Javaは演算子オーバーライドできない仕様だったから、そうなっちゃった。C#は最初から演算子オーバーライドできるから、文字列の==は直感的な仕様になってる。
言いたい事は分かりますが、高級言語とアセンブラを行ったり来たりしていると何が直感的な仕様なのか一瞬では判断できなくなります。
Javaで文字列を==で比較しているコードは、internしている文字列の比較で正しいコードなのか、equalsではなくあえて==で比較している常識的ではないが正しいコードなのか、ただのバグなのか、理解するのは難しいC#であれば値としての文字列の比較なので直感的かつ常識的に読み書きできる
高級言語とアセンブラを行ったり来たりしているうちに常識を忘れてしまいましたか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
Javaはこういうアホな仕様を排除 (スコア:0)
Javaはこういうアホな仕様を排除してて良いんだよね。
Re: (スコア:1)
オブジェクト同士の == が参照が同じかどうか比較というアホな仕様をどうにかしてくれませんかね。
Re: (スコア:0)
(Cでいう)ぽぽぽポインタの比較だから!あ、あってるから!
Re: (スコア:0)
普通equls()を使うよな。使うというか作るのだが。オーバーライドセずにそのまま使うと==と同じことになるし。ま、オブジェクトは==を使えないようにして参照先の比較はcheckPointer(obj1,obj2)とかにすればもっとよかったんだろうけど。
初心者はStringとStringを==で繋いじゃうんですよねー。=でつなぐ人もいますけど。まぎらわしーよねー。
Re: (スコア:1)
Javaは演算子オーバーライドできない仕様だったから、そうなっちゃった。
C#は最初から演算子オーバーライドできるから、文字列の==は直感的な仕様になってる。
Re: (スコア:0)
言いたい事は分かりますが、高級言語とアセンブラを行ったり来たりしていると
何が直感的な仕様なのか一瞬では判断できなくなります。
Re:Javaはこういうアホな仕様を排除 (スコア:1)
Javaで文字列を==で比較しているコードは、internしている文字列の比較で正しいコードなのか、equalsではなくあえて==で比較している常識的ではないが正しいコードなのか、ただのバグなのか、理解するのは難しい
C#であれば値としての文字列の比較なので直感的かつ常識的に読み書きできる
高級言語とアセンブラを行ったり来たりしているうちに常識を忘れてしまいましたか?