tips/JAVA/StringBuffer の文字列比較 のバックアップ差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
[[tips/JAVA]]
* StringBuffer の文字列比較 [#ib3889d8]

** StringBuffer の文字列比較 [#m119909a]

非常に単純なことなのですが、JAVA を始めた際にしばらく気づかず苦労しました。~
StringBuffer クラスのインスタンスの文字列を比較しようとした場合、たとえば "aaa" という文字と等しいという条件を判断しようとした際

StringBuffer sb = new StringBuffer("aaa");~
if(sb.equals("aaa")){ ... }
 StringBuffer sb = new StringBuffer("aaa");
 if(sb.equals("aaa")){ ... }

とすると条件式は false になってしまいます。
なぜかというと、sb は StringBuffer クラスなのですが "aaa" は String クラスのため、
等しくないと判断されてしまうのです。~
この場合

if(sb.toString().equals("aaa")){ ... }
 if(sb.toString().equals("aaa")){ ... }

とするとよいようです。