版本比较

来源:互联网 发布:虎视眈眈单人动作数据 编辑:程序博客网 时间:2024/05/16 04:41

代码

package com.liangman.bigdata.spark.coreimport scala.util.control.Breaks/**  * 软件版本比较  * 软件版本号一般分为3段, a.b.c  * a 表示大版本号  * b 表示功能更新  * c 表示小修改,修复bug  * Created by lm on 2017/4/16.  */class VersionToCompare {  /**    * @param v1 第一个版本号    * @param v2 第二个版本号    * @return 两个版本比较的值,分为0,1,-1;0代表相等,1代表v1大于v2,-1代表v1小于v2    */  def versionCompare(v1: String, v2: String): Int = {    val loop = new Breaks;    var retval: Int = 0;    if (v1.equals(v2))      retval    else {      val v1arr = v1.split("\\.")      val v2arr = v2.split("\\.")      loop.breakable {        for (i <- 0 until v1arr.length) {          if (v1arr(i) != v2arr(i)) {            retval = if (Integer.parseInt(v1arr(i)) > Integer.parseInt(v2arr(i))) 1 else -1            loop.break()          }        }      }    }    retval  }}

测试

package com.liangman.bigdata.spark.core;import org.junit.*;/** * Created by lm on 2017/4/16. */public class VersionToCompareTest {    @Test    public void versionCompare() throws Exception {        String version1 = "1.0.1";        String version2 = "1.0.2";        VersionToCompare vercompare = new  VersionToCompare() ;        int retval =vercompare.versionCompare(version1,version2);        System.out.print(retval);    }}
0 0
原创粉丝点击