当前位置: 首页 > 知识库问答 >
问题:

比较到错误: 无法在基元类型 int 上调用比较到(int)

斜俊
2023-03-14

不知道如何让compareTo不出错。

非常迷茫。已尝试更改多行代码

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

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

    numbers.add(index, NewNumber);      
}

我希望它能够与< code > compare to(new number)没有问题。

错误消息:“无法对基本类型int调用< code>compareTo(int)

共有2个答案

谭飞掣
2023-03-14

编辑:我不敢相信我最初在这里写的东西。

你能不能在这里只使用一个关系比较运算符?

(firstNum < secondNum) // This will return a boolean value of true or false.
魏成济
2023-03-14

“无法在基元类型 int 上调用比较 To(int)”

你必须明白:原始类型int不是像intger这样的引用类型。你不能对原始值调用方法。当你想比较两个int时,你可以简单地做索引

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

注意:在其他语言中,如静态编程语言,没有这种区别。在那里,你只有Int对象,并对其调用方法。但是java有这种区别。所以研究它,并学习如何使用哪种方法。

 类似资料:
  • 我一直在尝试移植一段JavaScript代码,现在,我唯一尚未开始工作的部分出现了此错误:无法在原始类型int上调用padLz(int)。原始JavaScript代码在下面,同样是我的移植版本,我还无法工作的部分还突出显示。 错误: 无法在基元类型 int 上调用 padLz(int) 原件 移植版本 string grid ref = let pair ' ' e . padlz(digits/

  • 问题内容: 因此,我在这里看到了一个示例,该示例如何使用Comparator接口对ArrayList进行排序,因此我进行了尝试。使用Strings可以很好地工作,但是我要排序的一个变量是Integer,它将无法编译,并说“不能取消引用int”。 我该怎么做才能使它起作用,并允许我按score变量对ArrayList进行排序? 这是我的代码: 谢谢您的帮助! 问题答案: 您不能在上调用方法;没有可以

  • 主要内容:实例,实例虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。 松散比较:使用两个等号 == 比较,只比较值,不比较类型。 严格比较:用三个等号 === 比较,除了比较值,也比较类型。 例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "FALSE" 是一个字符串。 实例 <?php if(42 == "42

  • 问题内容: 我需要编写一个比较器,它采用类型A的对象A和类型B的对象B。这两个对象不是公共对象的扩展。它们的确不同,但是我需要通过其中的通用字段来比较这两个对象。我必须使用比较器接口,因为对象存储在Set中,并且在必须对CollectionUtils执行操作之后。我在Google上搜索了一下,发现了Comparator的解决方案,但只有相同的类型。 我试图朝这个方向实施思考,但是我不知道我是否在正

  • 我需要写一个比较器,取一个a类型的对象a和一个B类型的对象B。这两个对象不是一个公共对象的扩展。他们确实是不同的,但我需要比较这两个对象在它的共同领域。我必须使用比较器接口,因为对象存储在Set中,之后我必须使用CollectionUtils进行操作。我搜索了一点点,我用比较器找到了解决方案,但只有相同的类型。 TXS 附注:我在不同的集合中添加两个对象: 之后我会这样想:

  • 用于排序的日期比较不起作用。请指教。 我的代码: 错误: 错误:找不到返回d1的符号。与(d2)比较 符号:方法比较到(日期) 位置:日期类型的变量d1 注意:某些输入文件使用或重写了不推荐的API 注意:使用-Xlint:deprecation重新编译以获取详细信息 注意:某些输入文件使用未检查或不安全的操作 注意:使用-Xlint重新编译:未选中以获取详细信息。