我必须将参数发送到服务器。
以下是我使用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;
}
答案 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
。