原 java 对参数按照ASCII进行排序(从小到大)
版权声明:本文为博主原创文章,请尊重他人的劳动成果,转载请附上原文出处链接和本声明。
本文链接:https://www.91mszl.com/zhangwuji/article/details/1343
String userId="111";
String productId="222";
String remark="91名师指路";
String timestamp=String.valueOf(System.currentTimeMillis()); // 当前系统时间
String serialNo=String.valueOf(IdUtil.getSnowflake(1,1).nextId()); // 保证唯一即可
SortedMap<String, String> parmas=new TreeMap<>();
parmas.put("userId", userId);
parmas.put("productId", productId);
parmas.put("remark", remark);
parmas.put("timestamp", timestamp);
parmas.put("serialNo", serialNo);
log.info(parmas);
执行结果
{productId=222, remark=91名师指路, serialNo=1448095277423661056, timestamp=1634087793091, userId=111}
代码如下:
// 2 循环map使用&进行拼接
Set<Map.Entry<String, String>> entries = parmas.entrySet();
Iterator<Map.Entry<String, String>> iterator = entries.iterator();
List<String> values =new ArrayList();
while(iterator.hasNext()){
Map.Entry entry = (Map.Entry) iterator.next();
String k = String.valueOf(entry.getKey());
String v = String.valueOf(entry.getValue());
if(StringUtils.isNotBlank(k) && StringUtils.isNotBlank(v)){
values.add(k + "=" + v);
}
}
values.add("clientId=" + clientId);
String str=StringUtils.join(values, "&");
log.info("拼接参数: {}", str);
执行结果:
拼接参数: productId=222&remark=91名师指路&serialNo=1448095277423661056×tamp=1634087793091&userId=111&clientId=1446721298934927360
2021-10-13 09:23:14 阅读(5068)
名师出品,必属精品 https://www.91mszl.com
博主信息