Java 连续数据中间用“-”代替

public static String convert(List ints, int index) {
int end = index;
if (ints.size() == index) {//结束条件,遍历完数组
return “”;
} else {
for (int i = index; i < ints.size(); i++) {
if (i < ints.size() - 1) {
String str0 =getNumbers(ints.get(i));
String str1 = getNumbers(ints.get(i + 1));
if(!StringUtils.isEmpty(str0) && !StringUtils.isEmpty(str1)){
if (Long.valueOf(str0) + 1 == Long.valueOf(str1)) {
end = i;
} else {
if (i > index)
end = end + 1;
break;
}
}else {
if (i > index)
end = end + 1;
break;
}
} else {
if (end == ints.size() - 2) {
end = ints.size() - 1;
break;
}
}
}
if (index == end)//相等说明不连续
return ints.get(index) + “,” + convert(ints, end + 1);
else//连续
return ints.get(index) + “-” + ints.get(end) + “,” + convert(ints, end + 1);
}
}

例如输出结果:[数据]:BS12345678920-BS12345678923,CZ12345678917-CZ12345678919,[共操作]:7[条数据]

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页