是否可以将putBoolean
与put
一起使用?我无法弄清楚如何有一个可以同时处理字符串和布尔请求参数的hashmap。
Map<String,String> params = new HashMap<String, String>();
params.put("name", "Name here");
params.put("gender", "Female");
params.putBoolean("isStudent", true); //this is not working...
感谢您的帮助。
答案 0 :(得分:6)
您可以存储像这样的对象格式
Map<String,Object> params = new HashMap<String, Object>();
params.put("name", "Name here");
params.put("gender", "Female");
params.put("isStudent", true);
获取数据时,您可以将对象强制转换为文字。喜欢
// In case of String
String name=(String)param.get("name");
// In case of Boolean
Boolean isStudent=(Boolean)param.get("isStudent");
答案 1 :(得分:4)
HashMap中没有putBoolean()
方法。
试试这个
Map<String,Object> params = new HashMap<String, Object>();
params.put("name", "Name here");
params.put("gender", "Female");
params.put("isStudent", true);
当你获得该密钥时使用此代码。
Boolean isStudent = (Boolean)params.get("isStudent");
答案 2 :(得分:1)
Map<String, Object> params = new HashMap<String, Object>();
params.put("name", "Name here");
params.put("gender", "Female");
params.put("isStudent", true);
for (String s : params.keySet()) {
Object obj = params.get(s);
if (obj instanceof Boolean) {
//do something
}
else if (obj instanceof String) {
//do something
}
}
答案 3 :(得分:1)
您可以使用&#34;对象&#34;类型,但仅限于您确实需要它。使用对象类型时,可以将任何值添加到地图中,并且可能会出现错误。
答案 4 :(得分:0)
将地图值设为对象
Map<String,Object> params = new HashMap<String, Object>();
params.put("name", "Name here");
params.put("gender", "Female");
params.putBoolean("isStudent", true);