【发布时间】:2014-04-15 12:22:49
【问题描述】:
import java.util.*;
public class Lab8 {
public static void main(String str[]) {
List list=new ArrayList();
list.add("sri");
list.add("Nivas");
list.add("Dande");
list.add("JLC");
System.out.println(list);
Iterator it=list.iterator();
while(it.hasNext()) {
Object obj=it.next();
System.out.println(obj);
if(obj.equals("JLC"))
it.remove();
}
System.out.println(list);
}
}
问题:
在使用 IDE 编译上述代码时,它工作得很好,但是当我编译它时
使用命令提示符,编译器会抛出错误:
error: incompatible types
Object obj=it.next();
^
required: Object
found: java.lang.Object
为什么我在命令提示符下而不是在 IDE 中收到此错误?
【问题讨论】:
-
public static void main(String str[]) {可以改成默认的public static void main(String[] args)吗? -
你有另一个名为
Object的类吗?其他可能性包括损坏的类路径。 -
当你用命令提示符编译它时,你能告诉我们你正在使用的确切命令吗?
-
我也怀疑类型安全存在问题。尝试使用泛型。 ArrayList
list = new ArrayList (); ... 字符串 str = it.next();等 -
我的假设是可证伪的;
java.lang.Object obj=it.next();工作吗?如果是这样,您还有另一个名为 Object 的类。
标签: java arraylist collections iterator