将list的内容转换成固定个数的分组字符串
最近需要做一个短信提醒的接口,其中需要根据一个接收人列表拆分成40人一组的字符串,脑子一下短路,居然调试了四个小时才搞出来,悲剧呀!
list 里每个元素为 Receiver对象,其中一个属性是手机号码 getMobile(),现在需要每40个人就生成一个以分号分隔的字符串。
makeMobileList(receivers, 40);
/* 按每次发送人数进行拆分接收人
* re: 接收人清单
* rowCount: 每次发送人数
* return : 拆分后的接收人清单,以分号间隔
*/
public ArrayList makeMobileList(List re, int rowCount) {
ArrayList ret = new ArrayList();
StringBuffer sb = new StringBuffer();
int i = 0;
for (int j = 0; j < re.size(); j++) {
Receiver receiver = (Receiver) re.get(j);
if (sb.length() == 0) {
sb.append(receiver.getMobile());
} else {
sb.append(";").append(receiver.getMobile());
}
i++;
if (re.size() > rowCount) {
if (i == rowCount) {
ret.add(sb);
sb = new StringBuffer();
i = 0;
}
}
if (j == re.size() - 1) {
ret.add(sb);
}
}
return ret;
}

浙公网安备 33010602011771号