黑马程序员技术交流社区

标题: 让人纠结的错误! [打印本页]

作者: 梁志冰    时间: 2012-9-26 21:45
标题: 让人纠结的错误!
本帖最后由 梁志冰 于 2012-9-26 22:10 编辑

import java.util.Iterator;
import java.util.HashSet;
public class HashSet {
public static void main(String[] args) {
  HashSet hs=new HashSet();
  hs.add("abc1");
  hs.add("abc2");
  hs.add("abc3");
  hs.add("abc4");
  Iterator it=hs.iterator();
       while(it.hasNext()){
       System.out.println(it.next());
       }
}
}

程序一编译,就报错,查看了N遍,都不知道哪里错了!求救



L%YN_KWN}BMH22H~[R12DRH.jpg (65.38 KB, 下载次数: 41)

L%YN_KWN}BMH22H~[R12DRH.jpg

作者: 陈冲    时间: 2012-9-26 21:53
扔到myeclipse里,没有错误{:soso_e129:}
作者: 张文建    时间: 2012-9-26 21:55
Iterator<Student> it=hs.iterator();楼主这有点问题吧,,,去了泛型就可以啦
作者: 明光照    时间: 2012-9-26 22:00
具体的我也不知道什么原因。但是把那个类名改一下就没有错了。应该是你用到了HashSet的类却又定义类名为HashSet有冲突吧。
作者: 梁志冰    时间: 2012-9-26 22:01
张文建 发表于 2012-9-26 21:55
Iterator it=hs.iterator();楼主这有点问题吧,,,去了泛型就可以啦

谢谢,去掉泛型还是不可以呀?
作者: 孙含庆    时间: 2012-9-26 22:03
import java.util.Iterator;
import java.util.HashSet;
public class HashSet {/不要用系统中的关键字作为类名,会出很头大的错误
public static void main(String[] args) {
   HashSet hs=new HashSet();
   hs.add("abc1");
   hs.add("abc2");
   hs.add("abc3");
   hs.add("abc4");
   Iterator it=hs.iterator();
        while(it.hasNext()){
        System.out.println(it.next());
        }
}
}
作者: 张文建    时间: 2012-9-26 22:04
梁志冰 发表于 2012-9-26 22:01
谢谢,去掉泛型还是不可以呀?

类名和类HashSet有点冲突了,改一下就行啦
作者: 张文建    时间: 2012-9-26 22:06
梁志冰 发表于 2012-9-26 22:01
谢谢,去掉泛型还是不可以呀?


G:\1234>javac hashSet.java
注意:hashSet.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。

G:\1234>java hashSet
abc1
abc4
abc2
abc3

作者: 梁志冰    时间: 2012-9-26 22:09
张文建 发表于 2012-9-26 22:04
类名和类HashSet有点冲突了,改一下就行啦

谢谢,因为我使用的DOS控台,报的错误比较让人纠结,现在将类名改为HashSetDemo后还会报“注: HashSetDemo.java使用了未经检查或不安全的操作。注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。”错误,给HashSet和Iterator加了泛型<String>就可以了!

import java.util.Iterator;
import java.util.HashSet;
class HashSetDemo {
public static void main(String[] args) {
  HashSet<String> hs=new HashSet<String>();
  hs.add("abc1");
  hs.add("abc2");
  hs.add("abc3");
  hs.add("abc4");
  Iterator<String> it=hs.iterator();
       while(it.hasNext()){
       System.out.println(it.next());
       }
}
}

作者: 张文建    时间: 2012-9-26 22:11
梁志冰 发表于 2012-9-26 22:09
谢谢,因为我使用的DOS控台,报的错误比较让人纠结,现在将类名改为HashSetDemo后还会报“注: HashSetDem ...

:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2