java - 使用java stringbuilder的回文

标签 java stringbuilder palindrome

public class testing {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        StringBuilder sb = new StringBuilder();
        StringBuilder sb1 = new StringBuilder();
        sb.append(str);
        sb1.append(str);
        sb1.reverse();
        if(sb == sb1) {
            System.out.println("yes");
        }else if(sb != sb1) {
            System.out.println("no");
        }
        System.out.println(sb.length());
        System.out.println(sb1.length());
        sc.close();
    }
}

一切正常,包括字符串反转,但总是没有结果。

最佳答案

您将始终得到no,因为StringBuilder创建新对象并且当您使用==进行比较时,它仅比较引用而不是内容StringBuilder 对象的内容,因此如果要比较内容,必须在对 StringBuilder 对象应用 .toString() 后使用 .equals() 方法。

关于java - 使用java stringbuilder的回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56423499/

相关文章:

java - GWT 和 GWTP 之间的区别

java - 在 Android 游戏开发中使用的东西

java - 如何在 Intellij 中运行单个 cucumber 场景?

java - 为什么 array.size 是 '0' ?

java - 如何将多行StringBuilder转换为字符数组?

c++ getline函数不允许我输入

java - 为什么我们需要将 toString 方法与 stringbuilder 一起使用

使用 java.lang.StringBuffer 的代码中的 Java.lang.NoClassDefFoundError java.lang.StringBuilder

string - 如何使字符串成为具有最少移位次数的回文?

java - 确定给定字符串是否为 k 回文