なぜ、この逆のStringBuilderは、それが回文であるとき、元の文字列に一致しないのですか?

なぜそんなに真剣なんだ :

私は、文字列が使用して回文であることを確認しようとしていたStringBuilderreverse()「ちゃん」それを正しく復帰するような対称性を持つ単語についてはfalse、それも戻りfalse、「マダム」のような本物の回文のため。

コード:

StringBuilder str = new StringBuilder("madam");
StringBuilder str2 = new StringBuilder(str);
boolean res = str2.equals(str.reverse().toString().trim());
System.out.println(str + " " + str2);
System.out.println(res);

出力:

madam madam
false

私は、Java 8とEclipseのネオンを実行しています。

彼らは次のとおりでした:

str.reverse().toString().trim()ですStringので、それは等しくすることはできませんStringBuilder

2比較してみString代わり秒:

boolean res=str2.toString().equals(str.reverse().toString().trim());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=281559&siteId=1