此代码始终返回false。可能是什么问题?
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");
}
}
}
答案 0 :(得分:6)
问题是StringBuilder(myString).reverse()
将返回一个StringBuilder
对象,您需要从中获取字符串值。
new StringBuilder(myString).reverse().toString()
答案 1 :(得分:1)
知道了:)
我必须将StringBuilder的值转换为String()
if (myString.equals(new StringBuilder(myString).reverse().toString()))
而不是
if (myString.equals(new StringBuilder(myString).reverse()))
答案 2 :(得分:-1)
试试这个..
String s = "responses";
StringBuilder builder = new StringBuilder(s);
System.out.println(builder.reverse());