จุดวิกฤต
ทำไมคุณไม่สามารถใช้เมธอด compareto เพื่อเปรียบเทียบหมายเลขเวอร์ชันไคลเอ็นต์ได้
ตัวอย่างเช่นหมายเลขเวอร์ชันไคลเอ็นต์ก่อนหน้านี้คือ: 9.9.9 และหมายเลขเวอร์ชันไคลเอ็นต์ล่าสุดของฝั่งเซิร์ฟเวอร์คือ: 10.0.1
การใช้งานรหัส Java
ฉันแนะนำบางอย่างและในที่สุดก็ไปที่รหัส
Public Static Int Compareversion (String Version1, String Version2) {if (version1.equals (version2)) {return 0;}} String [] version1Array = .split ("//" // "//."); Veersion2Array = Version2.split ("//."); parseInt (เวอร์ชัน 1Array [ดัชนี]) -carseInt (เวอร์ชัน 2Array [ดัชนี]) == 0) == 0) {ดัชนี ++;} ถ้า (diff == 0) {สำหรับ (int i = index; i <version1Array.length; i ++) {if (integer.parseint (เวอร์ชัน 1Array [i])> 0) {return 1;}} สำหรับ (int i = index; i <verixed2Array.length; i ++) {ifger.parseint ])> 0) {return -1;} return 0;} else {return diff> 0? 1: -1;}}