2012-01-16 54 views
0

林安卓小白,從objC到來,Android的HashMap的警告

我有一個非常愚蠢的問題(項目運作良好,並記錄預期的結果),

package com.orchard.hasho; 
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.Map; 
import android.util.Log; 

public class Numa { 

public static void main() { 


    Map mMap = new HashMap(); //crea nuevo HashMap 
    mMap.put("llave 1", "la llave uno"); //le mete cosas al hashMap 
    mMap.put("llave 2", "la llave dos"); 
    mMap.put("llave 3", "la llave tres"); 
    mMap.put("llave 4", "la llave cuatro"); 

    Iterator iter = mMap.entrySet().iterator(); 

    while (iter.hasNext()) { 
     Map.Entry menEntry = (Map.Entry) iter.next(); 

     Log.d("msg", "key:"+menEntry.getKey() +" value:"+menEntry.getValue()); 
    } 


} 
} 

在過去的代碼,我有一個新的HashMap的,我至極加載元素,

,但我得到很多的警告,

Map mMap = new HashMap();警告:add type arguments to "Map"

我注意到,當我創建的地圖......在autocompletition給我的Map<K, V>

而是選擇從我tutorial我沒有看到這個<Key, Value>? ???語法的時候創建Hashmap或填充它?

那麼這是什麼警告,爲什麼autocompetition會給我選項Map<K, V>,以及如何解決警告?,謝謝!

+1

在您的情況只需將添加爲,然後參考http://docs.oracle.com/javase/tutorial/java/generics/index.html – 2012-01-16 05:27:51

回答

3

這是由於泛化功能在Java 1.5中,你可以指定該地圖將包含什麼類型的對象,就像如果你想使用字符串作爲鍵和值,請使用下列內容:

Map<String, String> mMap = new HashMap<String,String>();