如何比较版本号2.0.3与3.0.1这样的有2个点的大小,如何做判断?
答案:2 悬赏:20 手机版
解决时间 2021-11-17 23:05
- 提问者网友:临风不自傲
- 2021-11-17 03:30
如何比较版本号2.0.3与3.0.1这样的有2个点的大小,如何做判断?
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-11-17 04:18
可以按点分割
String version1 = "2.0.3";
String version 2 = "3.0.1";
String[] str1 = version1.split(".");
String[] str2 = version2.split(".");
这样就可以比较了追问可以详细一点吗?我想得到三位数201怎么得到?追答你的思路可能不对,2.0.1和3.1.1可以通过比较201和311的大小来,但是考虑2.11.1和3.1.1这种情况就不能这样比较了吧。
刚才我们把版本号按点分割成数组,这样按顺序比较就可以了,
比如数组str1,str1[0]="2",str1[1]="0",str1[2]="3",
str2,str2[0]="3",str2[1]="0",str2[2]="1",
因为str1[0] 如果两者相等,那么再比较str1[1]和str2[1],一次类推。
你可能对split这个函数不熟,实际上这个函数用得还是蛮多的,你可以试试看追问我们的版本号就是3位数,所以我的那个想法在这里是可以,版本号位数多得时候不可以。split可以再具体点写出来吗?我确实不熟,万分感谢啊!追答如果版本号确定只有3位的话那么可以直接使用replaceAll()函数,将版本号当中的点全部替换掉的点,
version1 = version1.replaceAll("\\.","");
这时候version1的值为“203”;
replaceAll()有两个参数,第一个参数是你希望被替换的字符,第二个参数是你希望填充的字符
在这个例子中我们希望把“。”都替换成“”,所以就写成上面那样。由于“。”在正则表达式中有特殊含义,所以需要转义。
split把字符串按照指定的分割符进行分割,然后返回字符串数组
String version1 = "2.0.3";
String version 2 = "3.0.1";
String[] str1 = version1.split(".");
String[] str2 = version2.split(".");
这样就可以比较了追问可以详细一点吗?我想得到三位数201怎么得到?追答你的思路可能不对,2.0.1和3.1.1可以通过比较201和311的大小来,但是考虑2.11.1和3.1.1这种情况就不能这样比较了吧。
刚才我们把版本号按点分割成数组,这样按顺序比较就可以了,
比如数组str1,str1[0]="2",str1[1]="0",str1[2]="3",
str2,str2[0]="3",str2[1]="0",str2[2]="1",
因为str1[0]
你可能对split这个函数不熟,实际上这个函数用得还是蛮多的,你可以试试看追问我们的版本号就是3位数,所以我的那个想法在这里是可以,版本号位数多得时候不可以。split可以再具体点写出来吗?我确实不熟,万分感谢啊!追答如果版本号确定只有3位的话那么可以直接使用replaceAll()函数,将版本号当中的点全部替换掉的点,
version1 = version1.replaceAll("\\.","");
这时候version1的值为“203”;
replaceAll()有两个参数,第一个参数是你希望被替换的字符,第二个参数是你希望填充的字符
在这个例子中我们希望把“。”都替换成“”,所以就写成上面那样。由于“。”在正则表达式中有特殊含义,所以需要转义。
split把字符串按照指定的分割符进行分割,然后返回字符串数组
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯