版本号比较

public class Test {public static void main(String[] args) throws Exception {String a="1.5.0.22";String b="1.5.21.2";System.out.println(compareVersion(a,b));}/*** 版本号比较** @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;}}
}

java判断版本号大小,比较版本号大小相关推荐

  1. java 判断是否大于指定版本号

    判断 a.b.c 格式的版本大小: public boolean is_version_great_than(String version) {boolean result = false;if (! ...

  2. java判断integer长度_Integer比较大小

    Integer比较大小 java的两种类型: ● 基本类型 基本数据类类型存的是数值本身 ●引用类型 引用类型变量在内存放的是数据的引用 基本类型通过==比较的是他们的值大小,而引用类型比较的是他们的 ...

  3. JAVA解析APK:读取apk的应用名称、包名、版本号、图标、大小等信息

    1.添加依赖 <dependency><groupId>net.dongliu</groupId><artifactId>apk-parser</ ...

  4. java截取图片-设置方位+设置大小

    java截取图片-设置方位+设置大小 package com.onegrid.darj.test; import java.awt.Rectangle;   import java.awt.image ...

  5. js判断时间两小时之内_js判断两个时间的大小

    js判断两个时间的大小 function checkdate() { //得到日期值并转化成日期格式,replace(//-/g, "//")是根据验证表达式把日期转化成长日期格式 ...

  6. java中Date日期类型的大小比较

    java中Date日期类型的大小比较 方法一: java.util.Date类实现了Comparable接口,可以直接调用Date的compareTo()方法来比较大小 String beginTim ...

  7. JS判断两个日期的差或者判断两个日期的大小

    1.判断两个日期的差: /**计算日期天数差的函数-hanliwei-2013-03-14*/ function DateDiff(sDate1,sDate2) { //sDate1和sDate2的格 ...

  8. 用一句位运算判断两个整数的大小并返回较大者

    2019独角兽企业重金招聘Python工程师标准>>> 用一句位运算判断两个整数的大小并返回较大者,不用if..else,不用循环,不用switch,不用条件运算符 const in ...

  9. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法?

    参考:http://blog.csdn.net/mazhimazh/article/details/16799925 1. Java八种基本数据类型的大小,以及封装类,自动装箱/拆箱的用法? 原始类型 ...

  10. 如何判断一个结构体的大小

    对于嵌入式系统来说,内存很宝贵,那么在编程的时候就要尽量使自己用的数据结构所用的内存少,而结构体是C编程中经常用到的结构,保证结构体大小尽量的合理是很重要的.下面说一下如何判断一个结构体的大小. 首先 ...

最新文章

  1. java.nio.ByteBuffer中flip、rewind、clear方法的区别
  2. AES加密算法动画演示
  3. 计算a[0]*a[1]*...*a[n-1]/a[i]
  4. Pascal's Triangle II
  5. mysql timestamp_详解mysql三大时间函数now()、current_timestamp() 和sysdate()
  6. 【Kafka】报错:Error while fetching metadata with correlation id 1 : {topic_lcc=LEADER_NOT_AVAILABLE}
  7. 全球销量第一的三星手机,还有机会重新夺回中国市场吗?
  8. js 字符串换行_JS代码编程中经常用到的超长字符串换行方法,你最喜欢哪一种?
  9. 可方向导不一定连续的例子
  10. ttf能改成gfont吗_如何修改TTF字体
  11. Win10应用商店无法下载XBOX怎么办?
  12. Google浏览器升级为最新打开网页时缓慢 “正在建立安全连接..........”解决方法
  13. 荣耀4a刷android 6,荣耀4A全网通(SCL-AL00)一键救砖教程,轻松刷回官方系统
  14. 裁剪左上角x左上角y填什么_在“context.moveTo(x,y);”中,x、y 是相对于【 】的左上角。...
  15. 随笔--初到青岛,爱意油然而生
  16. 动视是否磨灭了暴雪的灵魂?
  17. 《Linux就该这么学》培训笔记_ch00_认识Linux系统和红帽认证
  18. Windows中怎么下载桌面便签小工具 便签小工具简单使用教程
  19. Bentley ORD(openroads designer) 二次开发(BIM)第二节 基础接口分享
  20. APP运营精华:6种营销推广模式

热门文章

  1. 【跨域】一篇文章彻底解决跨域设置cookie问题!
  2. Unity3D WebGL部署
  3. 淘宝批量下载图片方法
  4. 判断模式分解是否为无损连接的方法
  5. for循环语句执行顺序
  6. FFMPEG关于avio_alloc_context申请使用内存释放问题
  7. 什么是https?http和https之间区别是什么?
  8. Java Pair的使用
  9. centos7 k8s1.5.2(kubernetes) etcd flannel dns dashboard nginx tomcat slb haproxy keepalived
  10. Python爬虫(4)网页信息