1. 概述
在开发过程中,有时候会有这样的小的知识点,比如:
1>:需要在客户端 把字符串拼接成 1,2,3的样式,然后给服务器传递,比如:
mapHead.put("card", binList);;
2>:服务器返回一个list集合,list集合中包含多个aaa 、bbb、ccc这样的字符串,需要然后遍历list集合,然后取出 aaa 、bbb、ccc这样的字符串,然后将其组装成 aaa - bbb - ccc 样式,然后显示到客户端;
2. 处理方式
1>:针对于第一种:
// 定义一个字符串,用于接收拼接好的 1,2,3 样式的字符串
private String flag = "";
for (int i = 0; i < listDatas.size(); i++) {
// 获取每一个银行卡号
allBinNum = listDatas.get(i).getBin();
// 把每一个银行卡号拼接到 flag 后边;
flag += allBinNum;
// 然后给 flag 后边再拼接 逗号 ",";
flag += "," ;
}
// 然后判断:flag最后位是否是 逗号 ",",如果是,就截取最后一位的 逗号 ","
if (flag.endsWith(",")){
// 截取 逗号 ","之后的结果是:62*******10,62*******89
// 截取最后一位的 逗号,
getCodeAndName(flag.substring(0,flag.length()-1)) ;
// 下边这个结果就是所需要的样式
// flag.substring(0,flag.length()-1)
}
2>:针对于第二种:
第二种与第一种方式是一样的,就是把 逗号"," 变为 " - " 即可:
private String totalLable;
// 定义 StringBuilder,用于拼接字符串
StringBuilder stringBuilder = new StringBuilder() ;
// 遍历服务器返回的 psList集合
for (int i = 0; i < psList.size(); i++) {
// 从 psList集合中 取出 每个需要拼接的 name
String serviceLable = psList.get(i).getName();
// 用 stringBuilder 直接拼接 每一个 serviceLable,并且拼接 " - " ,然后将其转为 String类型
totalLable = stringBuilder.append(serviceLable).append(" - ").toString();
}
// 然后判断:totalLable最后3位是否是 " - ",如果是,就直接截取最后三位的 " - "
if (totalLable.endsWith(" - ")) {
// 截取最后三位的 " - ",注意这里:中间是 -,两边是两个空格,所以是截取最后3位的
String newTotalLable = totalLable.substring(0, totalLable.length() - 3);
// 然后把 截取之后的结果newTotalLable 设置给 tv_service_label即可
commonDataHolder.tv_service_label.setText(newTotalLable);
}