2012-09-30 101 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

相關問題