如何将多个数据类型的hashmap用于请求参数?

时间:2016-12-21 06:53:26

标签: java android

是否可以将putBooleanput一起使用?我无法弄清楚如何有一个可以同时处理字符串和布尔请求参数的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...

感谢您的帮助。

5 个答案:

答案 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);