0

我试图将我的 Android 应用程序连接到远程主机上的数据库。我想使用数据库的记录,但是当我尝试这样做时出现问题:

if(buffer.toString()=="OPEN")
                    {
                        button_signal.setText("OPEN");
                    }
                    else
                    {
                        button_signal.setText("CLOSE");
                    }

我已经使用 Logs 检查了 buffer.toString(),它等于“OPEN”,但 button_signal 的文本打印为“CLOSE”。为什么?你能帮助我吗?

4

2 回答 2

2

它可能有一些不可见的字符或一些字母可能是不同的大小写,所以请试试这个:

buffer.toString().trim().equalsIgnoreCase("OPEN");
于 2012-11-22T15:06:35.447 回答
1

您不能将 String 与 Java 中的“==”运算符进行比较。字符串是一个对象。试试这个 buffer.toString().equals("OPEN");

编辑:

更好的是,如果你像这样比较它: "OPEN".equals(buffer.toString())

因为如果缓冲区为空,它不会抛出异常。

于 2012-11-22T15:07:55.470 回答