docs: @Override
  	public int compare(String version1, String version2) {
  		if(version1 == version2) {
  			return 0;
  		}
  		if (version1 == null && version2 == null) {
  			return 0;
  		} else if (version1 == null) {// null视为最小版本，排在前
  			return -1;
  		} else if (version2 == null) {
  			return 1;
  		}
  
  		final List<String> v1s = StrUtil.split(version1, CharUtil.DOT);
  		final List<String> v2s = StrUtil.split(version2, CharUtil.DOT);
  
  		int diff = 0;
  		int minLength = Math.min(v1s.size(), v2s.size());// 取最小长度值
  		String v1;
  		String v2;
  		for (int i = 0; i < minLength; i++) {
  			v1 = v1s.get(i);
  			v2 = v2s.get(i);
  			// 先比较长度
  			diff = v1.length() - v2.length();
  			if (0 == diff) {
  				diff = v1.compareTo(v2);
  			}
  			if(diff != 0) {
  				//已有结果，结束
  				break;
  			}
  		}
  
  		// 如果已经分出大小，则直接返回，如果未分出大小，则再比较位数，有子版本的为大；
  		return (diff != 0) ? diff : v1s.size() - v2s.size();
  	}