如图所示
我这个表达式应该是没错的,可系统却报错,还有它提示说“类型不匹配,不能从int转换成boolean”是什么意思?因为目前为止我知道有个叫equals的关键字也是个用于字符串比较的,它返回的是布尔结果,而compareTo是根据字符与字符每个位置的字母相差多少而返回Int类型,但这里的提示我实在是不懂。
求各位前辈解答,小萌新感激不尽~
if (name1.equals(name2))
或者
if (name1.compareTo(name2) == 0)
... //相等
compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。
该方法用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。
语法
public int compareTo( NumberSubClass referenceName )
参数
referenceName -- 可以是一个 Byte, Double, Integer, Float, Long 或 Short 类型的参数。
返回值
如果指定的数与参数相等返回0。
如果指定的数小于参数返回 -1。
如果指定的数大于参数返回 1。
案例:
public class Test{
public static void main(String args[]){
Integer x = 5;
System.out.println(x.compareTo(3));
System.out.println(x.compareTo(5));
System.out.println(x.compareTo(8));
}
}
输出:
1
`
0
-1
https://www.runoob.com/java/number-compareto.html
if里的判断条件的返回结果必须是个boolean值,但是compareTo返回的是int数字,所以报错