[code]
import java.util.HashMap;
import java.util.Iterator;
public class HashMapDemo
{
    public static void main(String args[])
    {
       HashMap m=new HashMap();
       m.put("张三","12345");
       m.put("李四","23456");
       m.put("王二","34567");
       Iterator iter=m.keySet().iterator();
       while(iter.hasNext())
       {
          String key=(String)iter.next();
          System.out.println(key+"  "+m.get(key));
       }
    }
}
[/code]
这是书上的一段代码,但是编译的时候提示:使用了未经检查或不安全的操作。
然后-Xlint:unchecked重新编译,又提示:警告:[unchecked]对作为普通类型java.until.HashMap的成员put(K,U)的调用未经检查。
这个是什么意思啊?我把12345改成new String("12345")也不行本来打这段代码是想问一下方法和函数的区别,我知道C++里都叫函数Java里都叫方法,但是我记得以前学VB6.0的时候方法和函数好像是有区别的,不过都忘光了,现在也想不出来区别在哪了,按照我现在的想法,函数应该带括号接受参数形式应该是.XXX(YYY)参数可选 而方法不应该带括号就.XXX
本来想试验一下"Iterator iter=m.keySet().iterator();"这一句中的m.keySet()能不能写成keySet(m)的 我觉得keySet()它如果是函数就应该有重载可以写成keySet(m)这种形式 如果是方法它就不应该带括号 个人想法 

解决方案 »

  1.   

    我的那段代码呢?晕 还不能编辑import java.util.HashMap;
    import java.util.iterator;
    public class HashMapDemo
    {
        public static void main(String args[])
        {
          HashMap m=new HashMap();
          m.put("张三","12345");
          m.put("李四","23456");
          m.put("王二","34567");
          Iterator iter=m.keySet().iterator();
          while(iter.hasNext())
          {
             String key=(String)iter.next();
             System.out.println(key+"  "+m.get(key));
          }
        }
    }
      

  2.   


    import java.util.HashMap; 
    import java.util.Iterator; 
    public class Hello 

        public static void main(String args[]) 
        { 
          HashMap<String, String> m=new HashMap<String, String>(); 
          m.put("张三","12345"); 
          m.put("李四","23456"); 
          m.put("王二","34567"); 
          Iterator iter=m.keySet().iterator(); 
          while(iter.hasNext()) 
          { 
             String key=(String)iter.next(); 
             System.out.println(key+"  "+m.get(key)); 
          } 
        } 
    } 貌似这样就行了。
    你原来的用法是以前版本JDK的用法,你看看最新的用法吧,改进好多了呢。呵呵
      

  3.   

    忘了说了,你可能看的是THINKING IN JAVA 4TH 吧?
    那里面好像用的是JDK 4的,所以跟现在最新版本的JDK还是有些不同的,不过差别也不大。
      

  4.   

    看的是清华出版的 好像是jdk1.4为背景的 
    有thinking in java 4th 不过还没看
      

  5.   

    ok了 3Q  似乎有点C++的感觉
      

  6.   

    Iterator 也是一个泛型,2 楼的做法还是会报出警告的,既然使用了 JDK 1.5 就要充分挖掘它的特性。
    import java.util.HashMap;
    import java.util.Map;public class Test {

    public static void main(String args[]) {
    Map<String, String> map = new HashMap<String, String>();
    map.put("张三", "12345");
    map.put("李四", "23456");
    map.put("王二", "34567");
    for (Map.Entry<String, String> entry : map.entrySet()) {
    System.out.println(entry.getKey() + " --> " + entry.getValue());
    }
    }
    }
      

  7.   

    Iterator 也是一个泛型,2 楼的做法还是会报出警告的,既然使用了 JDK 1.5 就要充分挖掘它的特性。
    ==============================================================================
    不会阿 我试过了 可以的 jdk1.6
      

  8.   

    it不会做泛型警告
    map什么的类会有泛型警告