tips/JAVA/StringBuffer の文字列比較
2008-03-12 (水) 23:33:09 (5889d)
StringBuffer の文字列比較 †
非常に単純なことなのですが、JAVA を始めた際にしばらく気づかず苦労しました。
StringBuffer クラスのインスタンスの文字列を比較しようとした場合、たとえば "aaa" という文字と等しいという条件を判断しようとした際
StringBuffer sb = new StringBuffer("aaa"); if(sb.equals("aaa")){ ... }
とすると条件式は false になってしまいます。
なぜかというと、sb は StringBuffer クラスなのですが "aaa" は String クラスのため、
等しくないと判断されてしまうのです。
この場合
if(sb.toString().equals("aaa")){ ... }
とするとよいようです。