[英]Operator '+' cannot be applied to 'int', 'java.lang.Object'
我刚刚开始学习如何操作数组列表。
我在计算myArray的总和时遇到了一个小问题 ------> 错误是Operator '+' cannot be applied to '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
,其中定义了+
运算符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.