2014-04-04 65 views
0
import java.util.Scanner; 

public class teststuff { 
    public static void main(String[] args){ 
     Scanner scan = new Scanner(System.in);  
     String test; 
     test = scan.next(); 

     if(test == "example"){ 
      System.out.println("it worked"); 
     } 
    } 
} 

下面是代碼,即使它完全相同,我的輸入仍然是「示例」,但它仍然不會爲我的if語句提供布爾值true。有什麼我做錯了嗎?掃描儀如何處理字符串比較?

+0

我認爲它更與掃描儀的問題,它返回true。不是比較運算符。 – ajkey94

+0

不,你不以這種方式比較字符串。 – Rogue

+1

我確定這個問題不正確地使用'=='來比較'String'內容而不是'equals'方法。 – rgettman

回答

1

您需要使用:

test.equals("example") 

因爲要檢查如果對象是相等的,如果沒有對象值相等。

這是一個很常見的錯誤,但幸好它有一個非常簡單的修復方法。 :)

+0

哈哈,非常感謝。我不知道爲什麼這會跳過我的想法。 – ajkey94

+0

@ ajkey94不客氣:) – StephenButtolph

0

主要在Java中,我們不==操作符 比較字符串,因爲字符串是一流的,我們使用equals方法:

test.equals( 「」);

如果兩個字符串是相等的,假的,如果不是