CompareTo 错误:无法对基本类型 int 调用compareTo(int)

Lil*_*l D 3 java compareto

不知道如何避免compareTo出现错误。

非常失落。尝试更改多行代码。

public voide addValue(int newNumber){
int index = 0;

while ((index < numbers.size()) && (numbers.get(index.compareTo(newNumber) ==-1))
      index++;

    numbers.add(index, NewNumber);      
}
Run Code Online (Sandbox Code Playgroud)

我预计它不会有任何问题compareTo(newNumber)

错误消息:“无法调用compareTo(int)基本类型 int”

Gho*_*ica 6

“无法对基本类型 int 调用compareTo(int)”

你必须明白:原始类型int不是像Integer. 您不能对原始值调用方法。当你想比较两个整数时,你可以简单地index < newNumber这样做。

或者,您可以使用Integer 类的静态方法比较Integer.compare(index, newValue),例如: 。但正如所说:您不需要方法来比较原始值,您可以直接“就地”进行比较。

注意:在其他语言中,比如 Kotlin,没有这样的区别。那里只有 Int 对象,并调用它们的方法。但 java 做出了这种区分。因此,请研究它,并了解如何使用哪种方法。