mirror of
https://github.com/Hello-hao/Tbed.git
synced 2024-04-21 12:32:10 +00:00
51 lines
1.3 KiB
Java
51 lines
1.3 KiB
Java
package cn.hellohao.utils;
|
|
|
|
/**
|
|
* @author Hellohao
|
|
* @version 1.0
|
|
* @date 2022/7/18 9:49
|
|
*/
|
|
public class MyVersion {
|
|
/**
|
|
* 版本号比较
|
|
*
|
|
* @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;
|
|
}
|
|
}
|
|
|
|
}
|