簡體   English   中英

找不到符號方法Iterator()

[英]can not find symbol method Iterator()

大家好,我已經開始學習Java的集合並嘗試編寫一個簡單的程序,但是我遇到2個錯誤,請看一下並幫助我。

import java.util.Iterator;
import java.util.*;
    class ArrayListDemo1{
    public static void main(String... s){
    ArrayList<Integer> al = new ArrayList<Integer>();
 // ArrayList al = new ArrayList();
    int x[] = {1, -1, 2, -2, 3, -3, 4, -4};
    for(int i=0; i<x.length;i++){
        al.add(x[i]);
    }
    System.out.println(al);
//  Iterator<Integer> i = al.Iterator();
    Iterator i = al.Iterator();
    while(i.hasNext()){
        Integer z = (Integer)i.next();
//      Integer z = i.next();
        if(z.intValue < 0)  
        i.remove(); 
    }   
    System.out.println(al);
}
}
 1. Iterator i = al.iterator();//here method is case sensitive
 2. intValue() not intValue, is a method.

Java區分大小寫,方法通常以小寫字母開頭。 應該是al.iterator();

除此之外, intValue是一個方法,因此z.intValue應該是z.intValue()

第一個錯誤

方法通常遵循駝峰式且區分大小寫。

應該是al.iterator()

在這里看看

第二次錯誤

intValue()是一個函數,請參考this

if(z.intValue < 0)更改為if(z.intValue() < 0)

運行后,輸出

[1, -1, 2, -2, 3, -3, 4, -4]
[1, 2, 3, 4]

在這里測試

並且您編寫了intValue。它為false 它應該為intValue()。

您有2個編譯錯誤:

Iterator i = al.Iterator();

在Java方法名稱中,以小寫字符開頭,並且Iterator也是原始類型,您應該給它一個泛型類型:

Iterator<Integer> i = al.iterator();

您的第二個問題在這里:

z.intValue

Integer沒有公共字段intValue,但是有一個返回所需值的方法intValue():

z.intValue()

提示:我不知道為什么在這里使用Iterator,但是您也可以使用for-each循環來執行刪除列表項的任務:

for ( Integer integer : al )
{
    if ( integer.intValue() < 0 )
        al.remove( integer );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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