JAVA萌新提问04:字符串比较的关键字compareTo

图片说明
如图所示
我这个表达式应该是没错的,可系统却报错,还有它提示说“类型不匹配,不能从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数字,所以报错