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条件判断它们是否相等时,它们会打印"Not Equal"。这真的很令人困惑,请解释一下。
rev
是一个String
,而sb
是一个StringBuffer
。它们是两个不同的东西。 - Joe Crev.equals(sb.toString())
。 - Maroun