2013-05-02 81 views
-3

我有一個數組列表與HashMap的問題<HashMap的<字符串,字符串>>和if語句

deviceDataCollection = new ArrayList<HashMap<String,String>>(); 

我必須檢索該陣列電一些數據進行比較,使用IF-STATMENT,像代碼如下:

String DeviceType = deviceDataCollection.get(position).get("var").toString(); 
//it returns a string: lamp 

if (DeviceType == "lamp") 
{ 
     // do something 
} 

問題是:我無法進入IF-STATEMENT。我確定這些值是完全一樣的。

我不知道該怎麼做。

謝謝。

+1

請參閱我的[回覆](http://stackoverflow.com/a/16329952/2024761)! 'if(「lamp」.equals(DeviceType))'是你需要的! – SudoRahul 2013-05-02 03:48:33

回答

0

使用equals(「lamp」)或equalsIgnoreCase(「lamp」)方法來包含兩個字符串。

if (DeviceType .equals("lamp")) 
{ 
    // do something 
    } 
+0

謝謝。它工作完美。 – user2341575 2013-05-02 15:58:28

+0

@ user2341575你剛剛投票和unvote? – Raghunandan 2013-05-02 16:04:03

0

比較字符串時,使用equals()方法

因此,在你的條件應該是DeviceType.equals("lamp")

0

當您在Java(和Android)比較引用類型,你需要使用.equals()方法:

if (DeviceType.equals("lamp")) 
{ 
     // do something 
} 

==通過何時在內存中確定相等性,.equals()將考慮其值。

0

使用

if ("lamp".equals(DeviceType)) 
    { 
      //do something 
    } 

操作,==,測試,看看如果兩個對象引用變量指向的對象完全相同的實例。

方法.equals()測試以查看兩個對象是否相互比較 - 但它們不需要是同一對象的完全相同的實例。

http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

入住鏈接equals方法上面

0

試試這個:

if (DeviceType.equals("lamp")) 
{ 
    // do something 
} 

字符串使用equals功能,不比較==。

相關問題