java - nameValuePair 数组列表的数值等效项?

标签 java php http

我正在处理 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 转换为 NameValuePairList:

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/

相关文章:

java - 将 SSL 证书添加到 JRE 以访问 HTTPS 站点

php - 为什么我会收到此数组到字符串转换错误?

php - 如何在 laravel 中使用 pangination 和 sortByDesc 功能?

java - HTTP 1.1 流水线

java - 以编程方式在 jboss 7 中配置 infinispan

java - 如何检查列表是否仅包含给定范围 JAVA 中的元素?

java - 将类中的方法标记为 "should not be invoked because the system already does this automatically"?

php - 数据库连接字符串未在 php 函数中传递

http - 如何构建 Firefox 扩展来拦截 HTTP 请求和响应?

php - 如何使用移动应用程序和后端服务器通信的用户凭据签署 HTTP 请求?