在Android中初始化HashMap数据类型

时间:2015-05-05 17:39:17

标签: java android hashmap

我必须将参数发送到服务器。 以下是我使用HashMap的方式的代码。

我在此代码中收到错误,我尝试将纬度和经度声明为double并在Double中使用Map。如果我这样做,我开始在String类型的其他参数中收到错误。

protected Map<String,Double,Double, String> getParams() {
    // Posting params to register url
    Map<String, Double, Double, String> params = new HashMap<String, Double, Double, String>();
    params.put("tag", "LocationUpdate");
    params.put("email", email);
    params.put("latitude", latitude);
    params.put("longitude", longitude );
    params.put("last_seen",last_seen );
    return params;
}

2 个答案:

答案 0 :(得分:1)

将其更改为此

 protected Map<String,String> getParams()
    {
        // Posting params to register url
        Map<String,String> params = new HashMap<String,String>();
        params.put("tag", "LocationUpdate");
        params.put("email", email);
        params.put("latitude", String.valueOf(latitude));
        params.put("longitude", String.valueOf(longitude));
        params.put("last_seen",last_seen );
        return params;
    }

因为Map是键值容器。因为在这个例子中所有东西都可以被解析为String,所以只需获取双精度的String值,并在需要时再次执行以下操作:

double latitude = Double.parseDouble(params.get("latitude));

答案 1 :(得分:1)

最好在使用前查看java map api

Map只有两个通用类型变量。因此,您只需使用两个类型参数即可创建map

Map<String, Double> = new HashMap<String,Double>

此处您的密钥属于String类型,值类型为Double