拼接字符样式为 1,2,3 或者 aaa - bbb - ccc 等样式

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);

}

你可能感兴趣的:(拼接字符样式为 1,2,3 或者 aaa - bbb - ccc 等样式)