串1:  a1=1&a2=2&a3=6串2:  a1=yy&a3=tt处理后a1=yy&a2=2&a3=tt
基本上就是有对应key的就替换相对的valuejava

解决方案 »

  1.   

    String str1 = "a1=1&a2=2&a3=6";
    String str2 = "a1=yy&a3=tt";key=value调用某个方法比如doSome()其中的条件就是str2有的str1一定也有String str3 = doSome(str1,str2);使 str3的值为 a1=yy&a2=2&a3=tt
      

  2.   

    /**
     * 串1: a1=1& a2=2& a3=6 串2: a1=yy& a3=tt 处理后 a1=yy &a2=2 &a3=tt
     */
    public static String switchValue(String st1, String str2) {
    String sb = "";
    /** 分割串2放入hashmap中 */
    String[] arr2 = str2.split("&");
    HashMap<String, String> map2 = new HashMap<String, String>();
    for (int i = 0; i < arr2.length; i++) {
    String[] temp = arr2[i].split("=");
    map2.put(temp[0], temp[1]);
    } /** 把串1分割 */
    String[] arr1 = st1.split("&");
    for (int i = 0; i < arr1.length; i++) {
    String[] key = arr1[i].split("=");
    String value = map2.get(key[0]);
    if (value != null) {
    // 拼接
    sb += key[0] + "=" + value + "&";
    }
    }
    // 去掉最后一个&
    return sb.substring(0, sb.length() - 1);
    }