android 对比版本号
16lz
2021-12-04
给定两个版本号,比较哪一个版本号更新。
通过版本号的长度,有三种情况 1.2.9.1 比 1.2.9 新。
1.2.9 比 1.2.8.5 新。
1.2.9.8 比 1.2.9.3新
public class TestContrastVersionNum {public static void main(String[] args) {boolean flag = new TestContrastVersionNum().isUpdateForVersion("1.3.9","1.3.8.2");System.out.println(flag);}/** * 版本对比(是否需要更新版本) * @param newVersion 服务器上获取的版本 * @param indexVersion 当前使用的版本 * @return true:服务器上是最新版本,需要更新; false:不需要更新 */public boolean isUpdateForVersion(String newVersion, String indexVersion) {// boolean resultFlag = false;if ("".equals(newVersion) || null == newVersion|| "null".equals(newVersion)) {return false;} else {String[] newNums = newVersion.split("\\.");String[] indexNums = indexVersion.split("\\.");if (newNums.length > indexNums.length) {// 比较的次数为长度最小for (int i = 0; i < indexNums.length; i++) {// 服务器上版本数大于 当前的,就是最新版,要更新if (Integer.parseInt(newNums[i]) > Integer.parseInt(indexNums[i])) {return true;} else if (Integer.parseInt(newNums[i]) < Integer.parseInt(indexNums[i])) {return false;}}return true;} else if (newNums.length <= indexNums.length) {for (int i = 0; i < newNums.length; i++) {// 服务器上版本数大于 当前的,就是最新版,要更新if (Integer.parseInt(newNums[i]) > Integer.parseInt(indexNums[i])) {return true;} else if (Integer.parseInt(newNums[i]) < Integer.parseInt(indexNums[i])) {return false;}}return false;}}return false;}}
更多相关文章
- Android(安卓)好用插件 / 实用依赖(及时更新)
- Android开发环境的安装 Eclipse
- 去除警告 Android(安卓)NDK: WARNING: APP_PLATFORM Android-14
- Android模拟器简介—更新到最新的3.0 Honeycomb
- Android(安卓)SDK Manage 无法更新下载内容
- 初窥 Android(安卓)模拟器 2.0,这些年来最大最棒的更新
- 【Android】Android(安卓)SDK下载和更新失败的解决方法!!!
- Activity学习日记(一)
- Android主线程与子线程的关系