【发布时间】:2017-08-13 06:53:27
【问题描述】:
String str="inputstring";
StringBuilder sb=new StringBuilder(str);
String rev=sb.reverse().toString();
//System.out.println(sb+" "+rev); //this prints the same reverse text
if(rev.equals(sb))
System.out.println("Equal");
else
System.out.println("Not Equal");
当我打印此代码时,StringBuilder 和 String 打印与 "gnirtstupni gnirtstupni" 相同的输出,但是当我使用 if 条件检查它们是否相等时,它们会打印 “不等于”。
这真的很混乱,请解释一下。
【问题讨论】:
-
rev是String。sb是StringBuffer。它们是两种不同的东西。 -
试试
rev.equals(sb.toString())。
标签: java string stringbuilder