/**
* 版本号比较
* <p>
* 比较传入的两个字符串版本号 如:v1.0.0.9
* newVersion <= currVersion场合均是false
* @param newVersion 最新版本号
* @param currVersion 当前版本号
* @return
* @throws Exception
*/
private static boolean compareVersion(String newVersion, String currVersion)
throws Exception {
if (newVersion.equalsIgnoreCase(currVersion)) {
return false;
}
String[] news = newVersion.substring(1).split("\\.");
String[] currs = currVersion.substring(1).split("\\.");
if (news.length != currs.length) {
throw new Exception("传入的两个版本号格式不正或者不一致。");
}
boolean flag = false;
for (int i = 0; i < news.length; i++) {
int newI = Integer.parseInt(news[i]);
int currsI = Integer.parseInt(currs[i]);
if (newI - currsI < 0) {
return false;
} else {
if (i == 0 && newI - currsI > 0) {
return true;
}
if (flag) {
if (newI - currsI == 0) {
continue;
}
if (newI - currsI < 0) {
return false;
} else {
return true;
}
}
flag = true;
}
}
return true;
}
分享到:
相关推荐
涉及到客户端的系统中经常需要用到比较版本号的功能,但是比较版本号又不能完全按照字符串比较的方式去用compareTo之类的方法; 这需要我们总结版本号的通用规则,设计一个比较算法并封装成通用方法来使用: ...
在处理中文字符串时,通常需要使用宽字符串版本的节点。 3. **拆分字符串**:LabVIEW中的“拆分字符串”节点允许用户根据特定的分隔符将一个字符串分割成多个子字符串。对于中文字符串,确保分隔符也符合宽字符串...
在实际应用中,这个库可以帮助开发者轻松地进行版本号比较,例如: ```java Version version1 = new Version("1.2.3"); Version version2 = new Version("1.2.4"); if (version1.compare(version2) ) { // 版本1...
例如,如果你想按照逗号和空格的组合来分割字符串,需要使用`\s*,\s*`,因为逗号和星号在正则表达式中有特殊含义: ```java String str = "Apple,Banana Orange"; String[] fruits = str.split("\\s*,\\s*"); for ...
#### 四、版本号比较 版本号通常包含多个数字部分,如`1.2.0.2`。在比较版本号时,通常需要将这些数字部分合并为一个整数进行比较。 **示例:** ```csharp string versionStr1 = "1.2.0.2"; string versionStr2 =...
2. **匹配过程**:逐个比较两个字符串的字符,如果匹配成功,则移动两个指针到下一个位置;如果不匹配,根据通配符规则进行调整。 3. **结束条件**:当模式字符串的所有字符都与待匹配字符串对应时,匹配成功;如果...
老版本连接字符串使用老版本的 ODBC 驱动程序,连接字符串格式如下: Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword; 这种连接方式使用老版本的 ...
这个库可能是由Kamran Ahmed SE开发并维护的,版本号为8c39eff。本文将深入探讨这个库的核心功能、如何使用以及它在字符串处理中的应用场景。 首先,"php-shorthand"库的主要目标是通过简化的语法来减少代码量,...
4. **版本管理**:eTerm支持版本控制,这意味着你可以跟踪每个字符串的历史翻译,方便回溯和比较不同版本的翻译效果。 5. **质量检查**:在翻译完成后,eTerm提供了质量检查工具,可以检查翻译的一致性、语法错误和...
根据提供的压缩包子文件的文件名称“schollz-closestmatch-56fb6b1”,我们可以推测这个库可能叫做“closestmatch”,由作者Schollz维护,并且当前的版本号或提交ID为“56fb6b1”。库的源代码、示例、文档或者测试...
在这个Demo程序中,我们将看到`CString`如何被用来进行字符串的折行、处理制表符以及显示字符串的省略号版本。 1. **字符串折行**: 在MFC中,`CString`提供了`BreakString`方法,可以将一个长字符串按照指定宽度...
在这个C语言实现的版本中,我们可能看到了一个简单的顺序匹配的实现,即遍历文件中的每个字符,逐个与目标字符串进行比较。当找到匹配的开头时,检查剩余字符是否与目标字符串完全一致。如果匹配成功,记录下匹配的...
"字符串转换工具 v2.5.4 Build 08.04.exe"是该工具的可执行文件名,其中的版本号(v2.5.4)表明这是一个经过多次更新和优化的成熟软件,Build 08.04可能指的是构建日期,即2008年4月。该工具提供图形用户界面,使得...
在IT行业中,字符串查找与替换是一项基础且至关重要的操作,广泛应用于各种软件开发、文本处理、数据分析等场景。"字符串查找替换.exe"很显然是一款专为此目的设计的实用工具,可能是一个命令行程序或者图形用户界面...
在Python 3.6及以后的版本中,引入了一种新的字符串格式化方法,即f-string(formatted string literals),它允许我们在字符串中嵌入表达式,其中包括字典的键值。 例如,假设我们有一个字典`my_dict = {'name': '...
- **兼容性**:不同的Oracle版本可能支持不同的连接字符串选项,请根据实际情况调整。 - **性能优化**:合理设置连接池大小和超时时间等参数可以显著提高应用程序的性能。 - **错误处理**:在连接失败时提供适当的...
5. **版本兼容性**:110105可能代表该工具的一个版本号,意味着它可能适用于凯立德的某个特定版本。不同版本的凯立德可能有结构上的差异,因此使用时需要确认工具与导航软件的兼容性。 6. **注意事项**:尽管这样的...
labview小数至字符串转化时去掉无效0和小数点函数,labview2013以上版本可以打开。
HTML字符串与富文本之间的转换在iOS开发中是一个常见的需求,特别是在处理从服务器获取的数据时,这些数据可能包含HTML标签,需要在本地应用中正确显示。本文将深入探讨这个主题,并结合给定的"NSAttributedString4...