多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > Java實現Android客戶端版本號比較

Java實現Android客戶端版本號比較

來源:程序員人生   發布時間:2015-04-03 08:03:40 閱讀次數:3319次

目錄

  • 目錄
  • 前言
  • 關鍵點
  • Java代碼實現

前言

早上看了1下CSDN博客排名,本周最高排名的文章是:Java實現比較版本號。個人認為這篇文章寫的不錯,由于Android客戶端系統中常常用到版本號比較功能,特別是在利用自升級的情況下。
原博主之所以寫這篇文章,是由于斟酌到大部份Java程序員可能會采取compareTo這類不靠譜的API調用或不規則的版本號名稱。
而我寫這篇文章,是由于對ACM題目的推重和補充1下原博主代碼中斟酌不夠周全的情況。


關鍵點

這里,分兩個問題來講明1下客戶端版本號比較的關鍵點。

為何不能使用String.compareTo方法來比較客戶端版本號
舉個栗子,之前客戶端版本號為:9.9.9,而服務器端最新的客戶端版本號為:10.0.1,雖然10.0.1明顯高于9.9.9,但是依照compareTo方法,這個9.9.9是大于10.0.1的,致使客戶端版本號比較毛病。

原博主代碼中欠缺哪些斟酌?
原博主斟酌了8.5c這類不太可能定義的版本號,卻沒有斟酌版本號中前導0的情況。例如,依照原博主的代碼,版本號1.0是大于版本號1的。

為何推重ACM題目?
之所以這里推薦1下大家做ACM,是由于我最早思考這類問題是通過LeetCode上1道難度為easy的字符串比較題目,題目鏈接:Compare Version Number。而原博主的代碼是沒法AC這道題目的。


Java代碼實現

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

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; } }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 黑人最猛性free护士hd | 免费jizz在线播放视频高清版 | 最新国产在线播放 | 色妞色综合久久夜夜 | 亚洲成人福利在线 | 一级做a爰片性色毛片黄书 一级做a爰片性色毛片男 | 亚洲第九十九页 | 国产亚洲天堂 | 精品国产一区二区三区2021 | 久久久久久久岛国免费播放 | 精品国产综合区久久久久久 | 国产成人免费手机在线观看视频 | 操你综合| 亚洲免费视频一区二区三区 | 国产久视频观看 | 一级aa免费视频毛片 | 亚洲精品福利网站 | 波多野结衣xxxx性精品 | 手机精品视频在线观看免费 | 伊人俺去久久涩五月综合 | 国产精品久久成人影院 | 手机看片高清国产日韩片 | 欧美一区二区三区视频在线观看 | 亚洲国产国产综合一区首页 | 91精品成人免费国产片 | 网站大全黄免费 | 欧美成人v视频免费看 | 欧美另类视频一区二区三区 | 精品成人一区二区三区免费视频 | 亚洲视频久久 | 成人免费视频视频在线不卡 | videoa性欧美| 亚州毛色毛片免费观看 | 亚洲人成在线免费观看 | 精品久久久久久久一区二区手机版 | 日本xxxx黑人 | 中文字幕第233页 | 夜夜操天天干 | 五月激情丁香婷婷综合第九 | 亚洲春色校园 | 国产成人精品久久二区二区 |