簡體   English   中英

運算符“+”不能應用於“int”、“java.lang.Object”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM