zoukankan      html  css  js  c++  java
  • java自动给版本升级,遇9变0且前面一个版本加1

        /**
         * 自动升级版本号,版本号+1
         * @param version
         * @return
         */
        private String autoUpgradeVersion(String version){
            if (version.equals("")) {
                version = "0.0.0.0";
            }
            //将版本号拆解成整数数组
            String[] arr = version.split("\.");
            int[] ints=new int[arr.length];
            for (int i = 0; i < arr.length; i++) {
                ints[i] = Integer.valueOf(arr[i]);
            }
    
            //递归调用
            this.autoUpgradeVersion(ints, ints.length - 1);
            
            //数组转字符串
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < ints.length; i++) {
                sb.append(ints[i]);
                if ((i + 1) != ints.length) {
                    sb.append(".");
                }
            }
            return sb.toString();
        }
        
        /**
         * 自动升级版本号,版本号+1
         * @param ints
         * @param index
         */
        private void autoUpgradeVersion(int[] ints, int index){
            if(index == 0){
                ints[0] = ints[0] + 1;
            }
            else {
                int value = ints[index] + 1;
                if (value < 10) {
                    ints[index] = value;
                }
                else {
                    ints[index] = 0;
                    autoUpgradeVersion(ints, index - 1);
                }
            }
        }

    版本号格式为:0.0.0.0

    第一个大版本可以无限+1

  • 相关阅读:
    通过连接池和字段索引,提升单点登录cas的性能
    crc16.c
    modbus.c
    sciencesoftware科学软件
    C++ ASSERT() 断言机制
    sessionKey
    main函数中argc理解
    compile,build和execute的区别
    Linux vi 中移动光标 命令
    OCP读书笔记(2)
  • 原文地址:https://www.cnblogs.com/subendong/p/9415287.html
Copyright © 2011-2022 走看看