运算符'+'不能应用于"int",'java.lang.Object'



我刚刚开始学习如何操作数组列表。

我在计算myArray的总和时遇到了一个小问题 ------>错误是运算符"+"不能应用于"int","java.lang.Object">

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
ArrayList<Integer> myArray  = new ArrayList<Integer>();
myArray.add(6);
myArray.add(2);
myArray.add(1);
int x = 0;
Iterator myIterator = myArray.iterator();
while (myIterator.hasNext()){
System.out.println(myIterator.next());
x = x + myIterator.next();
}
}

迭代器应该被参数化。如果不指定Integer类型,编译器将假定运算符+未应用于java.lang.Object类型。

Iterator<Integer> myIterator = myArray.iterator(); 

从技术上讲,+运算符不适用于String以外的对象,但Integer是基元类型int的包装类。 因此,在这种情况下,编译器应用拆箱来获取int,其中定义了+运算符。

相关内容

  • 没有找到相关文章

最新更新