java中实现一些版本大小对比

实现一个compare接口,因为版本往往是1.23.60.2之类的,所以只能用.分割之后进行依次对比。下面是一个Comparator接口只需要在TreeSet或者TreeMap中加一个参数TreeMap  treemap= newTreeMap<getComparator>

private static Comparator<String> getComparator() {
Comparator<String> comparator = (one, two) -> {
int k = 1;
String[] oneArr = one.split("\\.");
String[] two2Arr = two.split("\\.");
for (int i = 0; i < oneArr.length && i < two2Arr.length; i++) {
try {
if (Integer.parseInt(two2Arr[i]) > Integer.parseInt(oneArr[i])) {
return k = 1;
} else if (Integer.parseInt(two2Arr[i]) < Integer.parseInt(oneArr[i])) {
return k = -1;
}
} catch (NumberFormatException e) {
logger.info("版本号异常跳过排序");
return k = -1;

}

}

return k;

};
return comparator;
}

猜你喜欢

转载自blog.csdn.net/zpflwy1314/article/details/107245292