【问题标题】:StringBuffer equal to string but not workingStringBuffer 等于字符串但不工作
【发布时间】:2019-10-04 14:25:33
【问题描述】:

我正在尝试使用 if 语句检查两个字符串是否相同(它们是相同的),但它不起作用。这是我的代码和我的第一个输入值 (https://imgur.com/a/3wpsssZ)。在底部的图像中,您会看到第一个字符串值(“票证有效”)

int responseCode=conn.getResponseCode();

            if (responseCode == HttpsURLConnection.HTTP_OK) {

                BufferedReader in=new BufferedReader(new
                        InputStreamReader(
                        conn.getInputStream()));

                StringBuffer sb = new StringBuffer("");
                String line="";

                while((line = in.readLine()) != null) {

                    sb.append(line);
                    break;
                }

                in.close();
                StringBuffer sb1 = new StringBuffer("\"Ticket is valid\"");
                if(sb.toString().equals(sb1.toString())){
                    textView.setText("SCANNED: "+sb1.toString());
                }

                return sb.toString();

            }

【问题讨论】:

  • 您确定从连接中读取的字符串周围没有空格吗?因为在这种情况下,您需要先将其转换为字符串和trim()
  • Toast 消息的外观来看,我认为第一个字符串的开头有多余的空格。 trim() 两个字符串都删除那些多余的空格,然后比较它们。

标签: java string stringbuffer


【解决方案1】:

尝试将.trim() 添加到sb.toString()

【讨论】:

    猜你喜欢
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多