版本比较器:自己写或者使用hutool的包

news/2024/11/24 13:51:46/

项目中存在版本的比较:
比如:V3.23.09之前版本走一个逻辑,之后走另外的一个逻辑

    fun compareVersions(version1: String, version2: String): Int {val version1Parts = version1.split(".")val version2Parts = version2.split(".")val minLength = minOf(version1Parts.size, version2Parts.size)for (i in 0 until minLength) {val part1 = version1Parts[i].toInt()val part2 = version2Parts[i].toInt()if (part1 < part2) {return -1 // version1 < version2} else if (part1 > part2) {return 1 // version1 > version2}}return version1Parts.size.compareTo(version2Parts.size)}

或者使用hutool的VersionComparator

VersionComparator.INSTANCE.compare(version,targetVersion) > 0

比较的时候是按照字符比较的

class SendServiceTest : FunSpec({test("VersionComparator") {val targetVersion="V3.23.09"VersionComparator.INSTANCE.compare("V3.21.03",targetVersion) shouldBe -2VersionComparator.INSTANCE.compare("V3.22.03",targetVersion) shouldBe -1VersionComparator.INSTANCE.compare("V3.22.03.01",targetVersion) shouldBe -1VersionComparator.INSTANCE.compare("V3.23.06",targetVersion) shouldBe -3VersionComparator.INSTANCE.compare("V3.23.09",targetVersion) shouldBe 0VersionComparator.INSTANCE.compare("V3.23.09.01",targetVersion) shouldBe 1VersionComparator.INSTANCE.compare("V3.23.02",targetVersion) shouldBe -7VersionComparator.INSTANCE.compare("V3.23.12",targetVersion) shouldBe 1}
})

http://www.ppmy.cn/news/766282.html

相关文章

特征选择算法 | Matlab实现基于ReliefF特征选择算法的回归数据特征选择 ReliefF

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 特征选择算法 | Matlab实现基于ReliefF特征选择算法的回归数据特征选择 ReliefF 部分源码 %--------------------

解密Android7.0 8.0进程保活与拉活的实现方式 如何才能让APP常驻内存 躲避系统的追杀

进程保活 前言APP进程被系统杀死Low Memory Killer进程优先级 进程保活1px Activity前台Service 进程拉活粘性ServiceJobScheduler双进程守护全家桶唤醒系统广播唤醒 总结 前言 近期被一些朋友问到关于进程保活这块的知识点&#xff0c;想必是很多开发者研究的重点&#xff0c…

Android推送 智能心跳解决方案 手机休眠对心跳的影响

转载请标明出处&#xff1a;http://blog.csdn.net/xx326664162/article/details/51611625 文章出自&#xff1a;薛瑄的博客 你也可以查看我的其他同类文章&#xff0c;也会让你有一定的收货&#xff01; Android推送服务的几种实现方式 一、推送方式基础知识&#xff1a; 在移…

超低功耗芯片ESP8266

快速入门指南中介绍了NodeMCU上的ESP8266芯片&#xff0c;这是一种超低功耗芯片&#xff0c;只利用太阳能就可以运行。 项目介绍 “菲莱”着陆器登陆彗星让我们深受启发&#xff0c;于是我们从前段时间开始开展低功耗的研发项目&#xff0c;其中假设我们只能利用太阳能对电池充…

STM8L的低功耗模式的配置

低功耗可以说是stm8l系列单片机的核心特色了。假设假设我们有一个温度传感器设备&#xff0c;他处于某种很特殊的地方&#xff0c;只能使用电池&#xff0c;而且我们很难去更换&#xff0c;那么低功耗就显得尤为重要。那么继续假设我们这个温度传感器不需要一直工作&#xff0c…

【笔记】效率脑科学:卓有成效地完成每一项工作

问题与决策 场景一&#xff1a;早上应接不暇的邮件 做出决策和解决问题的能力很大程度上依赖于大脑中一个叫前额皮质的区域。 前额皮质是你与世界进行有意识互动的生物基础&#xff0c;是大脑的思考核心&#xff0c;它让你在生活中不会进入“自动驾驶”模式。 尽管前额皮质很…

【转载】Android功耗改进

原文地址&#xff1a;《Android功耗改进》 by 保罗的酒吧 最近几年中&#xff0c;Google在一直极力的改进Android系统的续航能力。在本文中&#xff0c;我们将看到Andrdoi自5.0到8.0这几个版本中对于功耗方面的改进。 前言 移动设备的续航时间无疑是所有用户都非常在意的。我们…

性能优化09_WakeLock

Android性能优化汇总 一 什么是wake_lock wake_lock锁主要是相对系统的休眠而言的&#xff0c;意思就是我的程序给CPU加了这个锁那系统就不会休眠了&#xff0c;这样做的目的是为了全力配合我们程序的运行。有的情况如果不这么做就会出现一些问题&#xff0c;比如微信等及时通…