2012-09-30 174 views
3

可能重复:
How do I compare strings in Java?
Java string comparison?检查变量是否等于一字符串

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); 

    } 

} 

上面的代码是不言自明。我假设==只能用于数字?我想要“工作!”被打印。

回答

9

==通过参考比较对象。

要找出两个不同的String实例是否具有相同的值,请致电.equals()

+2

就更不用说了,“赢” .equals(名称)将在一个更安全的解决方案大小写如果名称为空。 – Egor

2

您应该使用

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

编辑在评论中所建议的RC避免无效的问题:

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

'“赢”.equals(name)'所以如果'name'是'null',不用担心 – 2012-09-30 15:08:05

+1

我建议忽略大小写。 “胜利”应该比“赢”还是“赢”或“无”更胜一筹? – duffymo

相关问题