首页 > 编程语言 > 详细

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

时间:2014-03-26 10:53:34      阅读:785      评论:0      收藏:0      [点我收藏+]

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>(); 

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

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

原文:http://www.cnblogs.com/qiernonstop/p/3620747.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!