检查变量是否等于一个字符串

5

可能是重复问题:
如何在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);

    }

}

以上代码相当简单易懂。我认为==只能用于数字?我希望打印“Working!”。

2个回答

9

== 比较对象的引用。

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


2
只是提一下,如果name为null的话,“Win”.equals(name)会是一个更安全的解决方案。 - Egor

5

You should use

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

根据评论中RC的建议进行编辑,以避免空值问题:

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

8
如果namenull,不用担心,只需翻译文本内容:"Win".equals(name) - user180100
1
我建议忽略大小写。 "win" 是否应该比 "Win"、"wIn" 或 "wiN" 更少胜利? - duffymo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接