2011-09-21 91 views
0

我對此有點瘋狂。在我的應用程序中,我使用代表公交車站的字符串,然後使用與其匹配的算法並顯示其時間表。我需要讓這個窗口成爲一個活動,而不是一個對話框,並且正在使用意圖。我的繼承人代碼發送意圖:Android意圖問題:爲什麼這兩個變量不相等?

    Intent intent = new Intent(context, StopDialogActivity.class); 
       intent.putExtra("stop name", stopName); 
       context.startActivity(intent); 

和繼承人我的代碼檢索字符串(在我的onCreate):正常

Bundle extras = getIntent().getExtras(); 
departureStopName=extras.getString("stop name"); 

字符串顯示,但它不是等於測試字符串我有相同的停止。意圖發送一個正確的整數,我在做什麼錯誤處理字符串?

+2

你如何測試平等?確保在比較字符串時使用'testName.equals(stopName)'而不是'testName == stopName'。在Intent中放置這樣的東西時,通常會使用'static final String'作爲關鍵字。這樣就不會在兩端出現錯誤。 –

+0

它報告爲真 – jfisk

+0

那麼這樣做解決了這個問題,如果是的話,我可以發表一個答案。 –

回答

1

確保在比較字符串時使用testName.equals(stopName)而不是testName == stopName。

使用.equals()在String類中使用equals方法來比較內容。使用==比較字符串對象本身,它們需要是內存中相同的對象才能評估爲真。

+0

爲什麼有人會在OP的評論中特意提到的答案是正確的。我之所以加上這個理由,只是因爲他說如果我將它作爲答案添加,他會將其標記爲正確。下次投票前閱讀評論。 –

0

啊,我的問題是,當我使用.equals()作爲測試,看看它是否通過好,我在我的代碼部分打破了==。