java工具类-判断App版本控制工具类

mac2025-08-29  8

import cn.com.hwqh.util.StringUtils; import java.lang.reflect.Method; public class ClientVersion { public static void main(String[] args) { //客户端传过来的版本号 String clientVersion="0100"; //服务器数据库最新版本 String serverVersion="2.0"; //如果高于或者等于当前版本就返回true 否则 false boolean b = ClientVersion.CheckClientVersion(clientVersion,serverVersion); System.out.println(b); } public ClientVersion() { } public static <T> Method getVersionMethod(String currMethodName, Integer version, Class<T> c, Class[] _class) throws SecurityException, NoSuchMethodException { Method m = null; if (version >= 170) { m = c.getMethod(currMethodName + "0170", _class); } else { m = c.getMethod(currMethodName, _class); } return m; } //判断版本工具类-如果高于或者等于当前版本就返回true 否则 false public static boolean CheckClientVersion(String clientVersion, String version) { try { if (StringUtils.isEmpty(version)) { return true; } else { String[] temp = version.split("\\."); String t = ""; if (temp != null) { for(int i = 0; i < temp.length; ++i) { if (temp[i].length() == 1) { if (i == 0) { t = t + "0" + temp[i]; } else { t = t + temp[i]; } } else { t = t + temp[i]; } if (i == temp.length - 1 && t.length() == 3) { t = t + "0"; } } } if (t.length() > clientVersion.length()) { return false; } else if (t.charAt(0) > clientVersion.charAt(0)) { return false; } else if (t.charAt(0) < clientVersion.charAt(0)) { return true; } else if (t.charAt(1) > clientVersion.charAt(1)) { return false; } else if (t.charAt(1) < clientVersion.charAt(1)) { return true; } else if (t.charAt(2) > clientVersion.charAt(2)) { return false; } else if (t.charAt(2) < clientVersion.charAt(2)) { return true; } else if (t.charAt(3) > clientVersion.charAt(3)) { return false; } else { return t.charAt(3) < clientVersion.charAt(3) ? true : true; } } } catch (Exception var5) { return false; } } private static String getVersion(String version) { String[] temp = version.split("\\."); String t = ""; if (temp != null) { for(int i = 0; i < temp.length; ++i) { if (temp[i].length() == 1) { if (i == 0) { t = t + "0" + temp[i]; } else { t = t + temp[i]; } } else { t = t + temp[i]; } if (i == temp.length - 1 && t.length() == 3) { t = t + "0"; } } } return t; } public static boolean VersionSort(String oldVersion, String newversion) { try { newversion = getVersion(newversion); oldVersion = getVersion(oldVersion); if (newversion.length() > oldVersion.length()) { return false; } else if (newversion.charAt(0) > oldVersion.charAt(0)) { return false; } else if (newversion.charAt(0) < oldVersion.charAt(0)) { return true; } else if (newversion.charAt(1) > oldVersion.charAt(1)) { return false; } else if (newversion.charAt(1) < oldVersion.charAt(1)) { return true; } else if (newversion.charAt(2) > oldVersion.charAt(2)) { return false; } else if (newversion.charAt(2) < oldVersion.charAt(2)) { return true; } else if (newversion.charAt(3) > oldVersion.charAt(3)) { return false; } else { return newversion.charAt(3) < oldVersion.charAt(3) ? true : true; } } catch (Exception var3) { return false; } } }
最新回复(0)