在实际的开发中,有时候需要我们拼接参数向后台发起请求,拼接后其格式如下:
keyOne=valueOne&keyTwo=valueTwo
咋一看感觉,感觉和hashMap的格式有点相近,但是又有点不同.正常的HashMap里面的数据打印出来的格式如下:
{keyOne=valueOne, keyTwo=valueTwo}
所以我们只需要循环每组hashMap里面的数据,在循环的中间添加&符号就可以!
说干就干:代码如下:
HashMap<String,String> map = new HashMap<>();
map.put("keyOne","valueOne");
map.put("keyTwo","valueTwo");
StringBuilder stringBuilder = new StringBuilder();
Set<Map.Entry<String, String>> entries = map.entrySet();
//{keyOne=valueOne, keyTwo=valueTwo}
Log.e("orderData",map.toString());
//[keyOne=valueOne, keyTwo=valueTwo]
Log.e("orderData",entries.toString());
for (Map.Entry<String, String> entry: entries) {
stringBuilder.append(entry);
stringBuilder.append("&");
}
// keyOne=valueOne&keyTwo=valueTwo&
Log.e("orderData",stringBuilder.toString());
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
// keyOne=valueOne&keyTwo=valueTwo
Log.e("orderData",stringBuilder.toString());
其中:备注的部分,都是log打印出来的值.
以上!