public class reverse_string { public static void main(String [] args){
StringBuffer s1 = new StringBuffer("madam");
System.out.print(s1);
StringBuffer s2 = new StringBuffer(s1.reverse());
System.out.print("\n"+s2);
if(s1.equals(s2))
{
System.out.print("\nreal string and reverse string are matched");
}
else
{
System.out.print("\nreal string and reverse string are not matched");
}
} }
答案 0 :(得分:0)
StringBuffer
将与equals进行参考比较。由于它们不是同一个对象,因此比较返回false。
将您的代码更改为
s1.toString().equals(s2.toString())
这将比较字符串的值。
另外:JavaScript和Java不是一回事。
答案 1 :(得分:0)
您正在比较两个StringBuffer
个实例,而不是字符串本身。
尝试添加.toString()
将其转换为字符串。
答案 2 :(得分:0)
StringBuffer不会覆盖String中的equals(),它的equals()方法是从java.lang.Object继承的方法,当且仅当“==”为真时返回true。也就是说,它比较了两个不相等的对象的引用。