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