0

我正在使用蓝牙聊天示例,但遇到以下问题..

当我在处理程序中添加 if 语句时,它总是返回 false ..

  case MESSAGE_READ:
                    byte[] readBuf = (byte[]) msg.obj;
                    String stringMsg = new String(readBuf);

                    if ( stringMsg == "a"){
                        Log.i(tag,"x RECEIVED OK...");
                    }
                    break;

当我调试程序时,我得到:

stringMsg = {java.lang.String@830020784928}"a��������....."
        value = {char[1364]830020788104}
               [0] = 'a' 97
               [1] = '\u0000' 0
               [2] = '\u0000' 0
               [3] = '\u0000' 0
               [4] = '\u0000' 0
               [5] = '\u0000' 0
               [6] = '\u0000' 0 
                  ...
                  ...
                  ...
                  ...
                  ...
        hashCode = 0
          offset = 0
           count = 1024

您能帮我阅读输入流,将字符保存为字符串(stringMsg)并能够使用 if 语句检查其内容吗?

先感谢您..!

4

1 回答 1

0

if (stringMsg == "a") 应该是if(stringMsg.equals("a"))如果你想比较值而不是引用。

于 2014-02-13T00:57:17.993 回答