我正在寻找一种比较两个字符串的解决方案.我已经找到了一些建议,但我并不真正理解如何做到这一点.我想做那样的事情:
String a = 23;
String b = 2;
if (a < b)
System.out.println("...");
else ..
Run Code Online (Sandbox Code Playgroud)
我找到了compareTo方法,但我不明白它背后的想法.代码如下:
String a = 23;
String b = 2;
if (a.compareTo(b) < 0)
System.out.println("...");
else ..
Run Code Online (Sandbox Code Playgroud)
但为什么我要相互比较字符串,然后将它与零比较?我真的很困惑.
你不能a < b
用java 做String
.你必须使用compareTo或Comparator.你也写不出来String a = 23;
.你可以将它们转换为整数然后再做a < b
.
阅读compareTo的API
a.compareTo(b)
Run Code Online (Sandbox Code Playgroud)
此方法调用的结果:
如果a按字母顺序排在前面(例如a ="apple",b ="bananna"),
则为负数(因此<0)如果是相同的字符串则为0,如果
是a,则为正数按字母顺序排在后面
如果要比较数值,可以在整数上进行比较,也可以先解析字符串,例如
if (Integer.parseInt(a) < Integer.parseInt(b)){
...
} else {
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
640 次 |
最近记录: |