在开发中,有时需要对 app的新版本和旧版本,做不同的处理。可以根据版本号判断。
新版本app交互有变化时,同一个接口在 不同版本可能要返回不同的数据。
如果不区分新旧版本,有可能会导致旧版本app 不可用。
比如 旧版本1.2.1有一个功能是跳转 微信,到了新版本修改了 app的交互,变成跳转 微信小程序,如果不区分处理,旧版本就没法使用了。
leetCode165题,就是比较版本号。
示例:
比较版本号:
/**
* 比较版本号。 格式类似 "1.2.1", "1.10"
*
* @param version1
* @param version2
* @return
*/
public int compareVersion(String version1, String version2) {
if (version1 == null) {
return -1;
}
if (version2 == null) {
return 1;
}
String[] v1Arr = version1.split("\\.");
String[] v2Arr = version2.split("\\.");
//下标小于其中一个即可,就会有数据。
for (int i = 0; i < v1Arr.length || i < v2Arr.length; i++) {
//默认值为0.
int x = 0;
int y = 0;
if (i < v1Arr.length) {
x = Integer.parseInt(v1Arr[i]);
}
if (i < v2Arr.length) {
y = Integer.parseInt(v2Arr[i]);
}
if (x > y) {
return 1;
}
if (x < y) {
return -1;
}
}
return 0;
}