Blame view

src/com/ectrip/cyt/version/VersionComparison.java 1.51 KB
3c2353cd   杜方   1、畅游通核销app源码提交;
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  package com.ectrip.cyt.version;
  
  /**
   * @author jigo 版本判断
   */
  public class VersionComparison {
  	/**
  	 * @param str1
  	 *            前版本号
  	 * @param str2
  	 *            后版本号
  	 * @return str1<str2 可以升级,其他都不可以
  	 */
  	public static boolean comparison(String str1, String str2) {
  		if (str1 == null || str2 == null) {
  			return false;
  		}
  		try {
  			String[] strArray = str1.split("\\.");
  			String[] strArray2 = str2.split("\\.");
  			if (strArray.length > strArray2.length) {
  				for (int i = 0; i < strArray2.length; i++) {
  					int isGT = Integer.parseInt(strArray2[i])
  							- Integer.parseInt(strArray[i]);
  					if (isGT > 0) {
  						return true;
  					} else if (isGT < 0) {
  						return false;
  					}
  				}
  				return false;
  			} else if (strArray.length == strArray2.length) {
  				for (int i = 0; i < strArray2.length; i++) {
  					if (Integer.parseInt(strArray[i]) < Integer
  							.parseInt(strArray2[i])) {
  						return true;
  					} else if (Integer.parseInt(strArray[i]) > Integer
  							.parseInt(strArray2[i])) {
  						return false;
  					}
  				}
  			} else if (strArray.length < strArray2.length) {
  				for (int i = 0; i < strArray.length; i++) {
  					int isGT = Integer.parseInt(strArray2[i])
  							- Integer.parseInt(strArray[i]);
  					if (isGT > 0) {
  						return true;
  					} else if (isGT < 0) {
  						return false;
  					}
  				}
  				return true;
  			}
  		} catch (NumberFormatException e) {
  			e.printStackTrace();
  		} catch (Exception e) {
  			e.printStackTrace();
  		}
  		return false;
  	}
  }