我想在共享偏好
中存储三个值我可以将整数存储为hashmap中的第三个值吗?当我为字符串传递null时,我能为整数传递什么?
public HashMap<String, String> getUserDetails(){
HashMap<String, String> user = new HashMap<String, String>();
// user name
user.put(KEY_NAME, pref.getString(KEY_NAME, null));
// user email id
user.put(KEY_PASS, pref.getString(KEY_PASS, null));
user.put(KEY_ID,pref.getInt(KEY_ID,));//what should i pass here??
// return user
return user;
}
答案 0 :(得分:0)
您已将HashMap()
声明为包含String
个对象的地图,因此,不,您实际上不能只存储整数。但是,如果您愿意,可以将整数转换为字符串。由于getInt()
返回原始int
,您应该使用静态方法Integer.toString(valuetomakeintoastring)
如果在首选项中找不到getInt()
值,则调用KEY
的第二个值是应返回的默认值。使用一些不能混淆为应用程序有效值的值。
user.put(KEY_ID,Integer.toString(pref.getInt(KEY_ID,<somedefaultintegervalue>));
也许HashMap
不是您在这里使用的正确数据结构?也许你真的需要定义一个包含这些值的类,然后创建该类的HashMap?