Key points
Why not use the String.CompareTo method to compare the client version number?
For example, the client version number is: 9.9.9, and the server-side latest client version number is: 10.0.1, although 10.0.1 is significantly higher than 9.9.9, but according to the CompareTo method, this 9.9.9 is greater than 10.0.1, causing the client version number to compare incorrectly.
Java Code Implementation
Pull some, finally still want to show the code, the following is my client version number comparison code, welcome to spit slot.
public static int Compareversion (string version1, String version2) {
if (version1.equals (Version2)) {return
0;< c3/>}
string[] Version1array = Version1.split ("\.");
string[] Version2array = Version2.split ("\;");
int index = 0;
int minlen = Math.min (Version1array.length, version2array.length);
int diff = 0;
while (Index < Minlen && (diff = integer.parseint (version1array[index))-Integer.parseint (version2array[ Index]) = = 0) {
index + +;
}
if (diff = = 0) {for
(int i = index; i < version1array.length i + +) {
if (Integer.parseint (version1array[i)) > 0) {return
1;
}
}
for (int i = index; i < version2array.length i + +) {
if (Integer.parseint (version2array[i)) > 0) {
return -1;
}
}
return 0;
} else {return
diff > 0? 1:-1;
}
}