给定两个版本号,比较哪一个版本号更新。

通过版本号的长度,有三种情况 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;}}


更多相关文章

  1. Android(安卓)好用插件 / 实用依赖(及时更新)
  2. Android开发环境的安装 Eclipse
  3. 去除警告 Android(安卓)NDK: WARNING: APP_PLATFORM Android-14
  4. Android模拟器简介—更新到最新的3.0 Honeycomb
  5. Android(安卓)SDK Manage 无法更新下载内容
  6. 初窥 Android(安卓)模拟器 2.0,这些年来最大最棒的更新
  7. 【Android】Android(安卓)SDK下载和更新失败的解决方法!!!
  8. Activity学习日记(一)
  9. Android主线程与子线程的关系

随机推荐

  1. 【Android开发学习06】Android中的文件I/
  2. Android常用控件总结
  3. Android(安卓)为模拟器安装其他软件
  4. Android重力感应实现方式简介
  5. Android音频流程一(JNI部分)
  6. ANDROID问题总结
  7. Android中常用的框架(从GitHub开源库中代
  8. 关于Android(安卓)studio 使用fastjson报
  9. Android技术归档
  10. ScrollView常用属性汇总