我可以使用 compareTo 来比较两个 int 类型的值吗?

Can I use the compareTo to compare two values of type int?

这道题我想用compareTo比较int"a"和"b"这两个变量,但是出现了错误。我该如何解决?感谢您的支持。

public static void main(String[] args) {
    int a=5;
    int b=5;
    if (a.compareTo(b));
}

这是错误:"Cannot invoke compareTo(int) on the primitive type int"

int 是 Java 语言中内置的少数 原语 类型之一,正如您所注意到的,原语不能包含方法。

你可以将它们包裹在非原始 Integer type 中,这是一个 class,然后进行比较:

Integer.valueOf(a).compareTo(Integer.valueOf(b))

更好的(因为它不会创建无用的对象)是使用 class 提供的静态方法,它确实以原始 ints 作为参数:

Integer.compare(a, b)