检查变量是否等于字符串

use*_*295 4 java string equals

可能重复:
如何比较Java中的字符串?
Java字符串比较?

import java.util.*;

public class whatever
{

    public static void main(String[] args)
    {

        Scanner test = new Scanner(System.in);
        System.out.println("Input: ");
        String name = test.nextLine();

        if (name == "Win")
        {
            System.out.println("Working!");
        }

        else
        {
            System.out.println("Something is wrong...");
        }

        System.out.println("Value is: " + name);

    }

}
Run Code Online (Sandbox Code Playgroud)

上面的代码非常明显.我假设==只能用于数字?我想要"工作!" 打印.

SLa*_*aks 9

== 通过引用比较对象.

要确定两个不同的String实例是否具有相同的值,请调用.equals().

  • 提一下,如果name为null,"Win".equals(name)将是一个更安全的解决方案. (2认同)

Mah*_*din 5

你应该用

if (name.equals("Win")){
    System.out.println("Working!");
}
Run Code Online (Sandbox Code Playgroud)

编辑RC建议的注释,以避免出现空问题:

if ("Win".equals(name)){
    System.out.println("Working!");
}
Run Code Online (Sandbox Code Playgroud)

  • `“ Win” .equals(name)`因此,如果`name`为`null`,不用担心 (8认同)