我正在处理 double 并寻找与此等价的“ double ”...
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("lat",lat));
nameValuePairs.add(new BasicNameValuePair("lng",lng));
编辑//我正在发出 HTTP 请求,我认为需要将 lat 值映射到 php lat 变量,将 long 映射到 php 变量。
谢谢!
最佳答案
如果您必须使用NameValuePair
,有两种可能的解决方案。
您可以将 Map
转换为 NameValuePair
的 List
:
List<NameValuePair> convertParameters(Map<String, Double> parameters) {
List<NameValuePair> result = new ArrayList<NameValuePair>();
for (Entry<String, Double> entry : parameters.entrySet()) {
result.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString()));
}
return result;
}
或者您可以实现一个新的 NameValuePair 来处理 Double 值:
public class DoubleNameValuePair implements NameValuePair {
String name;
double value;
public DoubleNameValuePair(String name, double value) {
this.name = name;
this.value = value;
}
@Override
public String getName() {
return name;
}
@Override
public String getValue() {
return Double.toString(value);
}
}
在后一种情况下,您可以使用可以直接传递给 UrlEncodedFormEntity 的构造函数的 NameValuePair 列表:
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new DoubleNameValuePair("lat", 1.0));
parameters.add(new DoubleNameValuePair("lng", 2.0));
关于java - nameValuePair 数组列表的数值等效项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3091755/