This question already has answers here:
How do I compare strings in Java?
                                
                                    (23个答案)
                                
                        
                4年前关闭。
            
        

我的代码有问题
tv.setText(str);正在工作,并且tv的文本更改为"LED1",但是在if(str=="LED1")中却无效!问题是什么?

Handler = new Handler()
{
    @Override
    public void handleMessage(Message msg)
    {
        byte [] data= (byte[]) msg.obj;
        try {
            tv.setText("");
            String str = new String(data, "UTF-8");
            tv.setText(str);
            if(str=="LED1")
            {
                tv.setBackgroundColor(getResources().getColor(R.color.red));
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
};

最佳答案

您需要对equals使用==而不是String

意思是if(str.equals("LED1"))而不是if(str=="LED1")

How do I compare strings in Java?

07-24 09:26