[unchecked] 对作 为原始类型Hashtable的成员的put(K,V)的调用未经过检查。。。

问题:

C:UsersAdministratorDesktopjavaSoundApplet.java:212: 警告: [unchecked] 对作
为原始类型Hashtable的成员的put(K,V)的调用未经过检查
put(audioFileName,clip);
^
其中, K,V是类型变量:
K扩展已在类 Hashtable中声明的Object
V扩展已在类 Hashtable中声明的Object
1 个警告

代码:

 1 class SoundTable extends java.util.Hashtable{
 2     public SoundTable(int initialCapacity){
 3         super(initialCapacity);
 4     }
 5     public AudioClip getClip(String audioFileName){
 6         return (AudioClip)get(audioFileName);
 7     }
 8     public void putClip(AudioClip clip,String audioFileName){
 9         put(audioFileName,clip);
10     }
11 }

原因:

因为用的是Java SE 7 吧。
在之前的SE中,Hashtable是javax.swing.Hashtable。在SE7中声明为泛型了,javax.swing.Hashtable<K,V>。
因此你需要在实例化它时指明传入指定参数类型,不然就报类型不安全的warning了。
class SoundTable extends java.util.Hashtable改为:class SoundTable extends java.util.Hashtable<String,AudioClip>就OK了。

原文地址:https://www.cnblogs.com/qiernonstop/p/3620784.html