java - 在 Java 中生成 Get 查询字符串

标签 java

我想像这样在java中生成一个Get查询字符串

www.example.com/somethingToGet?key1=value&key2=value....

所以我的方法有 2 个参数,基本 url(www.example.com/somethingToGet) 是第一个参数,第二个参数是 map 数据结构。我想迭代 map 并生成一个像这样的字符串

key1=value&key2=value....

它不应该以 & 符号结尾。 我不想使用任何内置函数,我想知道如何生成此类字符串的逻辑。

最佳答案

类似这样的事情:

public static String getQuery(String base, java.util.Map<String, String> map) {
    StringBuilder str = new StringBuilder(base);
    str.append('?');
    boolean first = true;
    for (java.util.Map.Entry<String, String> e : map.entrySet()) {
        if (first)
            first = false;
        else
            str.append('&');
        str.append(e.getKey());
        str.append('=');
        str.append(e.getValue());
    }
    return str.toString();
}

关于java - 在 Java 中生成 Get 查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30780176/

相关文章:

java - UVA在线判断运行时错误

Java while循环问题

java - 使用 flatMap 和过滤器过滤可观察对象是否正确?

java - 将元素添加到数组java

java - 在android studio中查找下周四的日期

java - Realm 对象不是此 Realm 架构的一部分

java - 在这种情况下是否需要 "volatile"关键字词? ( java )

java - 如何为java应用程序提供更新服务?

java - 我在这段 Java 代码中做错了什么?

Java NIO2 AsynchronousSocketChannel/AsynchronousServerSocketChannel 和 TLS/SSL