我有以下代码:
public Map<String,?> createItem(String title, String caption) {
Map<String,String> item = new HashMap<String,String>();
item.put(ITEM_TITLE, title);
item.put(ITEM_CAPTION, caption);
(***) item.put(ITEM_NUM, NUM);
行( * )我有错误我需要做的是添加整数
答案 0 :(得分:4)
这将是一个糟糕的解决方案,并带走了泛型。不推荐这个,但你可以清楚地了解所有类(String,Number)如何扩展Object类。在Java 5之前,即在Generics之前,Map就像Map
public static Map<String, Object> mapTest(String title, String caption) {
Map<String, Object> item = new HashMap<String, Object>();
item.put("title", title);
item.put("caption", caption);
item.put("count", new Integer(2));
return item;
}
使用get(key)时,需要进行强制转换。
答案 1 :(得分:1)
您无法在字符串Map中添加整数。
答案 2 :(得分:1)
我实际上并不知道他为什么需要这个,如果他想创建Item然后可以使用oop;即更好地创建类Item {...}并且可以在其中保存数据,或者如果它是用于序列化的东西然后可以跟随以下内容: ( * )item.put(ITEM_NUM,“”+ NUM);