Java 比较两个版本号的大小 (通用)

    /*** 版本号比较** @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;}}

举例:

Utils.compareVersion("1.0.358_20180820090554","1.0.358_20180820090553")=1

Utils.compareVersion("1.0.360","1.0.358_20180820090553")=1

Utils.compareVersion("1.0.358.2","1.0.358_20180820090553")=-1

Utils.compareVersion("1.0.0.2","1.0.1")=-1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

四、登录注册页功能实现《iVX低代码/无代码个人博客制作》

注&#xff1a;iVX也有免费直播课《第八期直播课》 首先打开在线编辑器进入我们的项目&#xff1a;https://editor.ivx.cn/ 一、登录页功能实现 上一节中已经完成了登录页的页面制作&#xff0c;那么这一节就开始对应的完成登录页的功能实现。 登录页的功能实现主要是对用户…

Oracle 12c应用连接VIP轮训负载均衡?

目前很多生产数据库都是两节点RAC&#xff0c;应用连接的数据库通常会连接SCAN IP或者VIP,这里做一个小实验&#xff0c;如果我们使用VIP连接&#xff0c; 应该怎样配置我们的客户端&#xff0c;负载均衡是否是严格意义上的轮训机制&#xff0c;只有通过自己的测试才能得到准备…

C语言试题三十一之判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

关于html5

html5 是用来 将 js 和 css 结合起来 从而实现 各种功能 javascript 用来定义 html5 页面的逻辑 css 来定义 html5 中的显示样式

【SignalR全套系列】之在.Net6中实现SignalR分组通信

微信公众号&#xff1a;趣编程ACE关注可了解更多的.NET日常实战开发技巧&#xff0c;如需源码 请公众号后台留言 源码;[如果觉得本公众号对您有帮助&#xff0c;欢迎关注]前文回顾【SignalR全套系列】之在.Net6中实SignalR通信SignalR中给客户端分组调用演示服务端代码实现1.Pr…

【ArcGIS风暴】中国756个气象台站分布Shapefile数据下载

在写论文时,通常要做研究区概况图,需要添加气象站点分布,或者在做气温或降水空间插值时,需要将气温和降水数据链接到气象台站上。气象数据通常可以到资源环境科学与数据中心去下载,为了使用的方便,本文分享中国区域756个气象台站shp格式矢量数据,如果你的研究区是西北五…

web上传大文件的配置

1、项目本身的webconfig 在<system.web>字段下 <httpRuntime targetFramework"4.5" requestLengthDiskThreshold"256" maxRequestLength"1000000000" executionTimeout"120"/> 2、找到C:\Windows\System32\inetsrv\confi…

七、文章管理页面及功能实现《iVX低代码/无代码个人博客制作》

注&#xff1a;iVX也有免费直播课《第八期直播课》 一、文章管理页页面制作 文章管理页的基本结构与首页类似&#xff0c;我们复制一个首页&#xff0c;并且重命名首页的名称为文章管理页&#xff1a; 我们接着删除如下图所框选部分内容&#xff1a; 接着重命名导航为内容…

Android 发起加入QQ群、打开网址、启动拨打电话界面

/****************** 发起添加群流程。 ** param key 由官网生成的key* return 返回true表示呼起手Q成功&#xff0c;返回fals表示呼起失败******************/public static void joinQQGroup(Activity _this, String key){Intent intent new Intent();intent.setData(Ur…

C语言试题三十二之编写函数function,它的功能是:将一个字符串转换为一个整数(不得调用c语言提供的将字符串转换为整数的函数)。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

【ArcGIS风暴】ArcGIS快捷键大全

使用快捷键能提高工作效率,本文总结了ArcGIS快捷键大全。当然了,为了个性化定制,也可以在ArcGIS中自定义快捷键。 扩展阅读: 【ArcGIS微课1000例】0015:ArcGIS如何创建/自定义快捷键? 文章目录 1. 访问 ArcMap 菜单命令2. 窗口操纵3. 刷新或暂停地图绘制4. 通过拖放进行…

游戏引擎cocos2d-android使用大全

做手机游戏需要三个核心的类&#xff0c;即&#xff1a;SurfaceView&#xff0c;SurfaceHolder&#xff0c;Thread。帧数要在30帧左右是最好的。 cocos2d游戏引擎 封装好的框架&#xff0c;可直接使用 cocos2d-android &#xff08;用java编程&#xff09; 导演&#xff1a;控…

禁用CMFCRibbonApplicationButton的单击和双击事件

为了禁用CMFCRibbonApplicationButton的单击和双击事件&#xff0c;我重载了CMFCRibbonApplicationButton如下: 1. MyRibbonApplicationButton.h文件内容&#xff1a; #pragma once class CMyRibbonApplicationButton : public CMFCRibbonApplicationButton{public: CMyRibbonA…

.net core 抛异常对性能影响的求证之路

一、前言在.net 社区中曾经听到过很多关于大量抛异常会影响性能这样的结论&#xff0c;心中一直就存在各种疑问。项目中使用自定义异常来处理业务很爽&#xff0c;但是又担心大量抛业务异常存在性能问题。查阅了各种文档&#xff0c;微软官方对性能优化这一块也不建议使用过多的…

Android Bootloader LittleKernel的两篇文章 【转】

转自&#xff1a;http://blog.csdn.net/loongembedded/article/details/41747523 2014-12-05 14:37 3599人阅读 评论(2) 收藏 举报分类&#xff1a;Android Bootloader&#xff08;68&#xff09; Android 开发之 ---- bootloader &#xff08;LK&#xff09; LK是什么 LK 是 L…

Android Fragment 监听返回键

直接给代码*-* Fragment&#xff1a; public boolean onKeyDown(int keyCode, KeyEvent event){if ((keyCode KeyEvent.KEYCODE_BACK)){//执行操作((MainActivity) Objects.requireNonNull(getActivity())).viewPager.setCurrentItem(3); }return true;} MainActivity&#…

C语言试题三十三之比较两个字符串的长度,(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

一、首页第一个首页栏制作【仿淘票票系统前后端完全制作(除支付外)】

首页一共分为3个页面&#xff0c;分别是首页&#xff1a; 影院&#xff1a; 我的&#xff1a; 一、标题头制作 首先我们新建一个 web 相对应用&#xff0c;随后点击前台&#xff0c;在前台新建一个页面&#xff1a; 接着给予这个页面一个背景色&#xff1a; 为了使页面…

【CASS精品教程】Win 10操作系统CAD 2006+CASS 7.1安装图文经典教程(附安装包下载)

目前大多数机器的操作系统是Win10,然而Win10系统下安装软件就不如Win XP或Win 7下那么顺畅。作为一个GISer,软件的熟练安装是基本功,因此本文就以Win0系统为例,演示CAD 2006+CASS 7.1的安装过程,文末附CAD 2006+CASS 7.1安装包下载。 目录 一、软件准备: 1. CAD 2006 2…

teamviewer 过期解决办法

teamviewer 过期解决办法 参考资料&#xff1a; http://blog.csdn.net/z249683156/article/details/41842271posted on 2015-12-21 13:32 雪山看雪 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/zker/p/5063164.html