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
Java 比较两个版本号的大小 (通用)相关推荐
- Java比较两个数字的大小
import java.util.Scanner; public class Qiu_zui_da_zhi { public static void main(String[] args) ...
- Java中两个字符串进行大小比较
一:大小比较:使用 String.compareTo 方法 compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序) 1.如果字符串相等返回值0 2.如果第一个字符和参 ...
- java 比较两个字符串大小
java 比较两个字符串大小 判断两个字符串是否相等 比较两个字符串的大小 判断两个字符串是否相等 如果state是true,则相等:是false,则不相等. String s1 = "zh ...
- Java实现比较APP版本号大小
实现代码如下: /*** 比较APP版本号的大小* <p>* 1.前者大则返回一个正数* 2.后者大返回一个负数* 3.相等则返回0** @param version1 app版本号* @ ...
- java控制台两个字符串_java控制台输入字符串
实验要求: 1/7 1.掌握 JDK 的安装及参数配置方法,能在控制台界面使用 Java 命令进行 Java 程序的编译及运行. 2.掌握 Eclipse 软件安装方法.3.掌握在 ...... 习题 ...
- tomcat 设置java内存_Tomcat 设置JVM内存大小
我的服务器的配置: # OS specific support. $var _must_ be set to either true or false. JAVA_OPTS="-Xms10 ...
- java 四字节uid,Java入门教程-序列化版本号serialVersionUID的作用
原标题:Java入门教程-序列化版本号serialVersionUID的作用 Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象.序列化是Java中实现持久化存储的一种方法 ...
- java中两任务并行运行_Java并行编程中的“可调用”与“可运行”任务
java中两任务并行运行 当我们用Java编写多线程应用程序时,我们倾向于使用" Runnable "接口来实现线程类. 您的类必须简单地实现此接口并覆盖run方法. 对于琐碎的用 ...
- 比较版本号:给你两个版本号 version1 和 version2 ,请你比较它们。
一.题目描述 165. 比较版本号 给你两个版本号 version1 和 version2 ,请你比较它们. 版本号由一个或多个修订号组成,各修订号由一个 '.' 连接.每个修订号由 多位数 ...
最新文章
- poj 1696(极角排序)
- ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)
- php 原生文件下载
- react+mobx:如何组织store之最佳实践
- django 路由分发 url分层
- Mac 使用Eigen库
- IT人不可不听的10个职场故事
- pytorch教程:Flatten类实现的模版
- kafka 生产和消费信息入门
- 详解机器学习之感知机理论与实践
- mysql msi失败_MySQL .msi 安装失败改用.zip安装步骤
- 90后程序员程广坤教你零基础自学编程,用这6种方法就够了!
- WS2812B 5050数据整理
- android 爱加密 脱壳,简单尝试脱“爱加密”官网加固的DEX壳
- vue省市区三级联动-封装集成
- 一份个人计算机能力研修总结,计算机 个人研修总结
- 数据分析案例-大数据相关招聘岗位可视化分析
- 程鑫峰:3.1余威未散鲍威尔再度归来,伦敦金、长江金业行情分析
- python 可视化 皮肤_为什么我不建议你轻易入Python的“坑”?
- 向西,向西,到栖霞去(二)--走马看福山
热门文章
- IKVM 编程武林之.NET派的北冥神功
- 使用LightBDD轻松实现行为驱动开发
- 用啥Selenium?! .NET程序员就用自家的Playwright for .NET
- 分布式数字签名令牌TokenProvider
- 明天面腾讯,我刷了这71道面试题...
- 使用Docker运行SQL Server
- 字符串太占内存了,我想了各种奇思淫巧对它进行压缩
- 【壹刊】Azure AD(二)调用受Microsoft 标识平台保护的 ASP.NET Core Web API (上)
- 关于 Blazor Server Side 的一些杂项, 感想
- .NET Core开发实战(第11课:文件配置提供程序)--学习笔记