【问题标题】:JAVA String Reverse using StringBuilder使用 StringBuilder 的 JAVA 字符串反转
【发布时间】:2017-01-16 11:20:44
【问题描述】:

此代码始终返回 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");
        }
      }
    }

【问题讨论】:

    标签: java string stringbuilder


    【解决方案1】:

    问题是StringBuilder(myString).reverse() 将返回一个StringBuilder 对象,您需要从中获取字符串值。

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

    【讨论】:

      【解决方案2】:

      知道了:)

      我必须将 StringBuilder 的值转换为 String()

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

      而不是

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

      【讨论】:

        【解决方案3】:

        试试这个..

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

        【讨论】:

        • 这只是检查反向字符串的例子。
        • 但他问为什么myString.equals(new StringBuilder(myString).reverse())总是返回false..
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-01
        • 1970-01-01
        • 2011-07-22
        • 2013-03-07
        • 2022-01-25
        • 2019-03-09
        相关资源
        最近更新 更多