黑马程序员技术交流社区

标题: 有关集合类的错误 [打印本页]

作者: 梦幻    时间: 2014-4-7 19:51
标题: 有关集合类的错误
本帖最后由 梦幻 于 2014-4-11 09:44 编辑

下面我这个小程序在编译的时候提示------注: UpdateStu.java使用了未经检查或不安全的操作。注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
我感觉方法用的都对,也不知道这种错误是什么意思,请指点一下

import java.util.*;
public class UpdateStu {
public static void main(String[] args) {
  Map map = new HashMap(); // 创建Map实例
  map.put("01", "李同学"); // 向集合中添加对象
  map.put("02", "魏同学");
  Set set = map.keySet(); // 构建Map集合中所有key对象的集合
  Iterator it = set.iterator(); // 创建集合迭代器
  System.out.println("key集合中的元素:");
  while (it.hasNext()) { // 遍历集合
   System.out.println(it.next());
  }
  Collection coll = map.values(); // 构建Map集合中所有values值集合
  it = coll.iterator();
  System.out.println("values集合中的元素:");
  while (it.hasNext()) { // 遍历集合
   System.out.println(it.next());
  }
}
}


作者: alucard    时间: 2014-4-7 20:42
我在cmd中用javac编译集合的时候也出现过,这是因为在jdk1.5后Java加入的泛型,用来对源代码的安全性检查。其中List类和Map类都是有泛型的,当然指定Map的类型也可以,但是编译器会给警告提示你,这是警告不是错误,可以继续在cmd中运行java UpdateStu
解决办法:1、给Map加上泛型2、使用jdk1.4的环境




作者: 张治国    时间: 2014-4-7 20:46
我想你这个程序,编译,运行应该没问题。
出现这个提示,是因为你没有加泛型导致的!你可以试一下

作者: 心灰意冷    时间: 2014-4-11 08:17
这个加上泛型就可以了




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