我是一个来自objC的Android菜鸟,
我有一个非常愚蠢的问题(项目工作正常并记录预期结果),
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"
我注意到当我创建地图时......自动复制为我提供了Map<K, V>
但是从我的tutorial我看不到这个<Key, Value>
? ???创建Hashmap或填充它时的语法?
那么这个警告是什么,为什么自动竞争给我选项Map<K, V>
,以及如何修复警告?谢谢!
答案 0 :(得分:3)
这是由于java 1.5中的泛化功能,您可以指定此映射将包含的对象类型,如果您想使用String作为键和值,请使用以下内容:
Map<String, String> mMap = new HashMap<String,String>();