Java if 语句在服务条件下不起作用

Java if statement not working on a condition of a service

我在 android studio 中创建了一个应用程序,它使用后台服务,该服务具有启动秒计数器的方法。我创建了一个 if 语句来测试秒数是否为 0,当我调试时,该值似乎是正确的,但条件直接跳到 else 语句,我无法弄清楚为什么。

  public void checkService(){
              long secs = seconds;

        String str = String.valueOf(secs);

        if(str == "0")
        {
            Toast.makeText(this, "Not started", Toast.LENGTH_SHORT).show();
        }
        else
        {
            Toast.makeText(this, "Running", Toast.LENGTH_SHORT).show();
        }
    }

即使值为0也跳到第二个esle。图片显示了我调试时str的值。

你不应该用 == 测试对象。您应该使用 .equals 代替:

    if(str.equals("0"))
    {
        Toast.makeText(this, "Not started", Toast.LENGTH_SHORT).show();
    }
    else
    {
        Toast.makeText(this, "Running", Toast.LENGTH_SHORT).show();
    }

另一个post回答的一些解释: