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和字符串打印相同的输出“gnirtstupni gnirtstupni”,但是当我检查它们是否相等使用如果条件,他们打印“不等于”“不等于”。字符串反向混淆在Java中 - 字符串 - StringBulider
这真是令人困惑,请解释一下。
'rev'是一个'String'。 'sb'是一个'StringBuffer'。他们是两个不同的东西。 –
尝试'rev.equals(sb.toString())'。 – Maroun