一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 使用Java代碼來比較Android客戶端版本號

使用Java代碼來比較Android客戶端版本號

2019-12-30 14:12低調小一 JAVA教程

這篇文章主要介紹了使用Java代碼來比較Android客戶端版本號,Java是目前安卓程序唯一的開發語言,需要的朋友可以參考下

關鍵點

    為什么不能使用String.compareTo方法來比較客戶端版本號?

    舉個例子,之前客戶端版本號為:9.9.9,而服務器端最新的客戶端版本號為:10.0.1,雖然10.0.1明顯高于9.9.9,但是按照compareTo方法,這個9.9.9是大于10.0.1的,導致客戶端版本號比較錯誤。

Java代碼實現

扯了一些,最后還是要show一下代碼的,以下是我的客戶端版本號比較代碼,歡迎吐槽。

   

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public static int compareVersion(String version1, String version2) {
   if (version1.equals(version2)) {
     return 0;
   }
 
   String[] version1Array = version1.split("\\.");
   String[] version2Array = version2.split("\\.");
 
   int index = 0;
   int minLen = Math.min(version1Array.length, version2Array.length);
   int diff = 0;
 
   while (index < minLen && (diff = Integer.parseInt(version1Array[index]) - Integer.parseInt(version2Array[index])) == 0) {
     index ++;
   }
 
   if (diff == 0) {
     for (int i = index; i < version1Array.length; i ++) {
       if (Integer.parseInt(version1Array[i]) > 0) {
         return 1;
       }
     }
 
     for (int i = index; i < version2Array.length; i ++) {
       if (Integer.parseInt(version2Array[i]) > 0) {
         return -1;
       }
     }
 
     return 0;
   } else {
     return diff > 0 ? 1 : -1;
   }
 }

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲第一永久色 | 青柠影视在线播放观看高清 | 亚洲人成在线观看一区二区 | 欧美人在线一区二区三区 | 男生操女生漫画 | 美女脱一净二净不带胸罩 | 好紧好爽范冰冰系列 | 日韩在线天堂 | 天干夜天天夜天干天ww | 欧美一级欧美三级 | 日韩在线 在线播放 | 奇米影视在线视频8888 | 成人精品mv视频在线观看 | 国产91精品在线观看 | 99热这里只有精品一区二区三区 | 白丝vk丨tk失禁 | a毛片久久免费观看 | 色综久久天天综合绕视看 | 精品精品精品 | 桃乃木香奈作品在线 | 91精品国产9l久久久久 | 国产女主播福利在线 | 国产综合久久久久久 | 国产精品久久久久久久午夜片 | 草草草视频 | 国产白白视频在线观看2 | 国产美女屁股直流白浆视频无遮挡 | 欧美成人免费观看bbb | 欧美日韩国产手机在线观看视频 | 国产成人福利美女观看视频 | 精品一区视频 | ady久久| 天天操婷婷 | 天天草天天 | 国产乱码一卡二卡3卡四卡 国产乱插 | 日韩国产成人精品视频人 | 色777777女人色 | 国产卡一卡二卡四卡无卡 | 87影院在线观看视频在线观看 | 91香蕉视频在线观看 | 国产yw193.㎝m在线观看 |