java實現版本號比較


前言

在客戶端如Android的時候會涉及到版本的比較,版本號示例

1.0.0
1.0.a1

代碼實現

public class Client {

  private static int versionCompare(String version1, String version2) {
    String[] versionArr1 = version1.split("\\.");
    String[] versionArr2 = version2.split("\\.");
    int minLen = Math.min(versionArr1.length, versionArr2.length);
    int diff = 0;
    for (int i = 0; i < minLen; i++) {
      String v1 = versionArr1[i];
      String v2 = versionArr2[i];
      diff = v1.length() - v2.length();
      if (diff == 0) {
        diff = v1.compareTo(v2);
      }
      if (diff != 0) {
        break;
      }
    }
    diff = (diff != 0) ? diff : (versionArr1.length - versionArr2.length);
    return diff;
  }

  public static void main(String[] args) {
    System.out.println(versionCompare("1.2", "1.3"));
    System.out.println(versionCompare("1.2", "1.1"));
    System.out.println(versionCompare("1.2", "1.1.4"));
    System.out.println(versionCompare("9.9", "10.8"));
    System.out.println(versionCompare("9.a", "9.b"));
  }

}

根據點號分割,然后一級一級比較,主版本和主版本號比較,次版本號和次版本號比較。

參考

Java實現比較版本號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM