2017-01-16 3 views
0

Dieser Code gibt immer false zurück. Was könnte das Problem sein?JAVA String Reverse mit StringBuilder

public class S18_Palindrome { 
     public static void main(String[] args) { 
     String myString = new String("malayalam"); 
     if (myString.equals(new StringBuilder(myString).reverse())) { 
      System.out.println("true"); 
     } else { 
      System.out.println("false"); 
     } 
     } 
    } 

Antwort

6

Das Problem ist, dass StringBuilder(myString).reverse() eine StringBuilder zurückkehren Objekt müssen Sie den String-Wert daraus erhalten.

new StringBuilder(myString).reverse().toString() 
+0

bekam es bro ... danke :) –

1

Verstanden :)

Ich hatte den Stringwert toString zu konvertieren()

if (myString.equals(new StringBuilder(myString).reverse().toString())) 

statt

if (myString.equals(new StringBuilder(myString).reverse())) 
-1

die Sie interessieren ..

String s = "responses"; 
StringBuilder builder = new StringBuilder(s); 
System.out.println(builder.reverse()); 
+1

Dies gilt nicht, wenn seine Testarbeit machen .. – marstran

+0

es ist nur Beispiel für Reverse überprüfen String. –

+0

Aber er fragte, warum 'myString.equals (new StringBuilder (myString) .reverse())' immer false zurückgibt. – marstran

Verwandte Themen