Java 比较两个版本号的大小 (通用)
生活随笔
收集整理的這篇文章主要介紹了
Java 比较两个版本号的大小 (通用)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** 版本號比較** @param v1* @param v2* @return 0代表相等,1代表左邊大,-1代表右邊大* Utils.compareVersion("1.0.358_20180820090554","1.0.358_20180820090553")=1*/public static int compareVersion(String v1, String v2) {if (v1.equals(v2)) {return 0;}String[] version1Array = v1.split("[._]");String[] version2Array = v2.split("[._]");int index = 0;int minLen = Math.min(version1Array.length, version2Array.length);long diff = 0;while (index < minLen&& (diff = Long.parseLong(version1Array[index])- Long.parseLong(version2Array[index])) == 0) {index++;}if (diff == 0) {for (int i = index; i < version1Array.length; i++) {if (Long.parseLong(version1Array[i]) > 0) {return 1;}}for (int i = index; i < version2Array.length; i++) {if (Long.parseLong(version2Array[i]) > 0) {return -1;}}return 0;} else {return diff > 0 ? 1 : -1;}}
舉例:
Utils.compareVersion("1.0.358_20180820090554","1.0.358_20180820090553")=1
Utils.compareVersion("1.0.360","1.0.358_20180820090553")=1
Utils.compareVersion("1.0.358.2","1.0.358_20180820090553")=-1
Utils.compareVersion("1.0.0.2","1.0.1")=-1
?
?
總結
以上是生活随笔為你收集整理的Java 比较两个版本号的大小 (通用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# RichTextBox 做简单的H
- 下一篇: Android 发起加入QQ群、打开网址