版本比较工具类(通用)

来源:互联网 发布:复杂网络的研究现状 编辑:程序博客网 时间:2024/06/07 04:08

在java后台开发中,经常会遇到某一个版本以后才要上新特性,此时就可以将版本比较工具类派上用场了。

public class VersionCompare {/** * 判断版本1是否在版本2之后 * @param version1 * @param version2 * @return */public static boolean afterVersion(String version1, String version2){      if (StringUtils.isEmpty(version1) || StringUtils.isEmpty(version2)) {          return false;      }          String[] versionArray1 = version1.split("\\.");      String[] versionArray2 = version2.split("\\.");      int idx = 0;          //取最小长度值      int minLength = Math.min(versionArray1.length, versionArray2.length);    int diff = 0;      while (idx < minLength              && (diff = versionArray1[idx].length() - versionArray2[idx].length()) == 0//先比较长度              && (diff = versionArray1[idx].compareTo(versionArray2[idx])) == 0) {//再比较字符          ++idx;      }          //如果已经分出大小,则直接返回,如果未分出大小,则再比较位数,有子版本的为大;    diff = (diff != 0) ? diff : versionArray1.length - versionArray2.length;      return diff>0;  }  }



原创粉丝点击