当前位置:   article > 正文

【Kotlin】比较版本号_kotlin 版本号比较大小

kotlin 版本号比较大小

kotlin火了,我也来学习!

先练个手,用kotlin比较两个版本号。思路如下

常见的版本号有:v1、1.2.3、1.1.0.332_beat。大致就这几种,这里面有一个规律:都是通过数字来标识的,按照数字的排序进行比较,比如首字母大的版本高。这样就简单了,可以把版本号中所有的数字提取出来(可以用正则表达式),然后统一他们的长度,长度当然是用较大的那个了。这样的版本号就成了完全由数字组成的字符串了,并且长度还一致,转成Int就好比较了。思路就是这样了,下面直接粘代码了

  1. fun compareVersion(v1: String, v2: String): String? {
  2. if (v1 == null || v1.length < 1 || v2 == null || v2.length < 1) return null
  3. val regEx = "[^0-9]"
  4. val p = Pattern.compile(regEx)
  5. var s1: String = p.matcher(v1).replaceAll("").trim()
  6. var s2: String = p.matcher(v2).replaceAll("").trim()
  7. val cha: Int = s1.length - s2.length
  8. var buffer = StringBuffer()
  9. var i = 0
  10. while (i < Math.abs(cha)) {
  11. buffer.append("0")
  12. ++i
  13. }
  14. if (cha > 0) {
  15. buffer.insert(0,s2)
  16. s2 = buffer.toString()
  17. } else if (cha < 0) {
  18. buffer.insert(0,s1)
  19. s1 = buffer.toString()
  20. }
  21. val s1Int = s1.toInt()
  22. val s2Int = s2.toInt()
  23. if (s1Int > s2Int) return v1
  24. else return v2
  25. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/223409
推荐阅读
相关标签
  

闽ICP备14008679号