如何解决当我使用 equals 方法比较字符串对象和 stringbuffer 对象时会发生什么?
当我们用equals方法比较String和Stringbuffer时会发生什么?
String s1= "121";
System.out.println();
StringBuffer sb = new StringBuffer(s1);
sb.reverse();
System.out.println(sb);
if(s1.equals(sb))
{
System.out.println("Palindrome");
}
else
{
System.out.println("Not palindrome");
}
我将一个字符串存储到 StringBuffer
中,然后使用反向方法来反转字符串。但是当我在 equals
和 String
之间使用 StringBuffer
方法时。它给了我一个意想不到的结果。它返回“非回文”。
我该如何解决问题?
解决方法
String 类型的 "equals" 方法首先检查其他类型是否也是 String,在您的情况下它是 StringBuffer,因此它返回 false, 如果要比较内容,请使用:
s1.equals(sb.toString())
或
s1.contentEquals(sb)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。