zoukankan      html  css  js  c++  java
  • java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查

    java:警告:[unchecked] 对作为普通类型 java.util.HashMap 的成员的put(K,V) 的调用未经检查

    一、问题:学习HashMap时候,我做了这样一个程序:

    import java.util.HashMap;
    public class testHashMap{

    public static void main(String[] args)
    {
        HashMap hm = new HashMap();
        hm.put("txtSearchProvince","北京"); 
        hmPara.put("txtSearchCity","西安");
        System.out.println("参数个数:" + hmPara.size());
        }catch(Exception e){
        System.out.print(e.getMessage());}
    }
    }//end class

    编译时:

    c:javac testHashMap.java 
    提示如下:
    testHashMap.java 使用了未经检查或不安全的操作。
    要了解详细信息,请使用 -Xlint:unchecked 重新编译。

    c:javac -Xlintunchecked testHashMap.java
    提示是:
    testHashMap.java:8: 警告: [unchecked] 对作为普通类型 java.util.HashMap 的成员的
    put(K,V) 的调用未经检查

    二、修改办法:
        HashMap hm = new HashMap();  
    改为--HashMap<String,String> hm = new HashMap<String,String>();

    ---->这里面的String 又代表了什么呢?

    三、查资料:

    你的JDK版本是1.5,1.5是支持泛型的,但你的写法不是用泛型的写法,所以编译的时候出了警告。 
    将你的protected static ArrayList table=new ArrayList(); 改成 
    protected static ArrayList<BigInteger> table=new ArrayList<BigInteger>(); 

    这里说了一个[泛类型]的概念

    四、引申:
    HashMap<String,Integer> hm = new HashMap<String,Integer>(); 
        hm.put("txtSearchProvince",1);

    这也是1.5的新特性,自动封装成了Integer了 ,当然也可以自动把Integer变成int

    这个可以通用:HashMap<Object, Object> hmPara = new HashMap<Object, Object>(); 

  • 相关阅读:
    在XP下基于VHD版XP 2003 win7制作的RAMOS心得
    联想G480笔记本安装系统
    多路由器环境下路由器的入口IP地址及DHCP设置探讨
    无线路由器工作模式的区别
    Shiro学习
    R语言学习网址
    2018年刑侦科目推理试题
    信息熵
    myeclipse使用步骤总结
    eclipse没有server选项
  • 原文地址:https://www.cnblogs.com/qiernonstop/p/3620747.html
Copyright © 2011-2022 走看看