[英]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()
。
並且您編寫了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.