• java中版本号比较大小


    * compareTo  一定不要用  例如在比较10.0.1 和 9.8.3是就会显示后面的数大;

    下面这个工具类可以比较大小

    package com.icbc.tgmgmt.app;
     
    /**
     * 
     * version1  目标版本
     * version2  源版本
     * modify by user on 2018-5-21
     */
    public class CompareVersion {
     
        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;
            }
        }
    }

    第一个参数大返回正数,第二个参数大返回负数,一样返回0;

  • 相关阅读:
    OpenGL纹理数据块
    MFC应用真彩色图标资源
    PictureConverter命令行图片批量转换工具
    Google Earth6.1 tree
    OpenGL Render On Window Process
    纹理滤波(Texture Filter)
    使用开源OpenCTM进行常用三维格式互导
    《搅基辞》
    访问WebDAV服务
    linux 挂载一个文件夹到另一个文件夹
  • 原文地址:https://www.cnblogs.com/cuijiade/p/9070318.html
Copyright © 2020-2023  润新知