Java比较两个版本的大小

具体代码如下:

/**

* 比较版本号的大小,前者大则返回一个正数,后者大返回一个负数,相等则返回0

*

*@paramversion1

*@paramversion2

*@return

*/

publicstaticintcompareVersion(Stringversion1,Stringversion2) {

if(StringUtils.isBlank(version2) ||StringUtils.isBlank(version1)){

return0;

}

String[]versionArray1=version1.split("\\.");// 注意此处为正则匹配,不能用".";

String[]versionArray2=version2.split("\\.");

intidx= 0;

intminLength=Math.min(versionArray1.length,versionArray2.length);// 取最小长度值

intdiff= 0;

while(idx

&& (diff=versionArray1[idx].compareTo(versionArray2[idx])) == 0) {// 再比较字符

++idx;

}

// 如果已经分出大小,则直接返回,如果未分出大小,则再比较位数,有子版本的为大;

diff= (diff!= 0) ?diff:versionArray1.length-versionArray2.length;

returndiff;

}

你可能感兴趣的:(Java比较两个版本的大小)