[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10182] Re: String クラスは flyweight ?



String test1 = new String("AAA");
String test2 = new String("AAA");
StringBuffer test3 = new StringBuffer("AAA");

このとき
test1.equals(test2)=true
test1.equals(test3)=faulse となるハズ
なんとなくやっぱり、equalsはflyweightや親クラスに依存しないで、純粋な文字列
比較であってほしい。

根本
----- Original Message -----
From: "ken" <t_takahashi@xxxxxxxxxxxxxx>
To: <jfriends-ml@xxxxxxxxxxxxxxxx>
Sent: Tuesday, June 04, 2002 8:41 PM
Subject: [jfriends-ml 10176] Re: String クラスは flyweight ?


>   高橋(智)@群馬出張中です。
>   if文で || を使わずとも、以下のようなequalsメソッド実装で
> あれば済むような気もしますが、いかがでしょうか?
>
>   public boolean equals(Object obj) {
>     if( this == obj )
>       return true;
>     ...
>     ...
>   }
>
> --
> 高橋智宏
>
> Koji Kotaki wrote:
> <略>
> > equals() と == をどのように使い分けるかということが議論されています。
> > 議論の焦点は 処理速度 と 判定結果不定 のトレードオフをどのように
> > 考えるかということのようです。
> >
> > しかし実用的には下のようなコーディングスタイルで充分だと思いますが。
> >
> >  if(A == B || A.equals(B)) {
> >      ........
> >  } else {
> >
> >  }
>