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

Java ArrayList for-loop lcv被认为是对象,而不是int

郝哲茂
2023-03-14

我试图用可变长度的序列创建一个数组,所以我决定使用ArrayList。

因为我想找到数字序列的和,所以我尝试使用ArrayList.get(int index)方法来获取ArrayList中元素的值,但是NetBeans抱怨不兼容类型:对于以下代码,Object不能转换为int:

int seqLen = sequence.size(); // number of elements in ArrayList sequence
int seqSum = 0; // sum of all elements in the sequence
for(int i = 0; i <= seqLen; i++) {
   int seqPart = sequence.get(i);
   seqSum+= seqPart;
}

具体来说,行int seqPart=sequence.get(i);

基本上,我在这里做错了什么,我已经在JavaDoc中查看了几次ArrayList了,但我仍然没有弄清楚哪里错了。

共有1个答案

法镜
2023-03-14

如果查看JavaDoc,您会注意到get返回一个E。如果不定义E是什么,它将默认为Object。对象不能分配给int。如下定义arraylist:

List<Integer> sequence = new ArrayList<>();

这表示,“我要用整数填充这个ArrayList”。这样,当您调用get()时,它将返回整数而不是对象

这部分稍微高级一点,也不是很重要,所以如果你想不通,也不要担心:您可以将整数分配给int的原因是一个名为自动解装箱的概念。

 类似资料:
  • 问题内容: 我正在一个JavaScript项目上,只是想知道为什么对象实例不继承和其他方法,而不必调用超类(superobject?)方法。 我看过了MDN文档,实际上有“非标准”属性方法。 但这些已被弃用。为什么要转向方法? 在我看来,类似的东西比更好。对于其他一些Object方法,我也会说同样的话。 问题答案: 这是为了避免发生冲突-通常情况下,对象的问题不具有所需值的属性。 JS中的对象通常

  • 好吧,所以我有下面的方法,但我试图摆脱使用。块(),因此尝试实现Mono,但得到错误< code >所需的类型:List 原始代码 我尝试以非阻塞方式重构使用 Mono

  • 问题内容: 我一直在尝试更新一个名为libpynexmo的小型Python库以与Python 3一起使用。 我一直坚持这个功能: 遇到这个问题时,json会回应: 我在一些地方读到,应该为您传递带有附件的对象(在这种情况下为对象),但是它不适用于对象。 我不知道下一步该怎么做,但是由于我的整个1500行脚本是新转换为Python 3的,所以我不想回到2.7。 问题答案: 我最近写了一个小功能来发送

  • 问题内容: 我有以下抛出的非常基本的代码; 我尝试将解码设置为Data变量,如下所示,但是会引发相同的错误; 有什么建议? 问题答案: 您只是将其以错误的顺序放置,是无辜的错误。 (深入解答)。正如wim礼貌地指出的那样,在极少数情况下,他们可以选择UTF-16或UTF-32。在这种情况下,对于开发人员而言,这种情况将不那么常见,在这种情况下,他们将有意识地决定放弃宝贵的带宽。因此,如果遇到编码问

  • 编译器必须为constexpr的不同路径生成多个函数,这取决于函数的调用方式。所以也许它在使用过载分辨率。 被接受的建议没有提到“sfinae”或“过载分辨率”。 所以我很好奇这两个概念是否适用于“constexpr if”。

  • 问题内容: 我正在开发一个网页,在那里我为类似国际象棋的游戏布置一块面板,以及几个棋盘托盘。所有操作都使用HTML(使用jQuery在游戏进行时进行动态更新)完成。在某个地方,我想到在页面中使用元素的绝对定位被认为是不好的做法,并且最好使用相对定位。 经过相对定位的困扰了很长时间之后,我意识到板元件的绝对定位要容易得多,而且要正确得多。 有谁知道相对定位优于绝对定位的原因吗?在决定采用哪种方法时,