泛型
实例:
任意参数类型
import java.util.Hashtable;
public class Fanxing <K,V>{
public Hashtable<K,V>h=new Hashtable<K,V>();
public void put(K k,V v) {
h.put(k, v); //将指定 key 映射到此哈希表中的指定 value。注意这里键key和值value都不可为空。
//存储值
}
public V get(K k) {
return h.get(k); //计算key的hash值,判断在table数组中的索引位置,然后迭代链表,匹配直到找到相对应key的value,若没有找到返回null。
}
public static void main(String args[]) {
Fanxing<String,Integer>F=new Fanxing<String,Integer>();//实例化泛型对象
F.put("key", 20000);
int keys=F.get("key"); //取出名称对应的值
System.out.println("得到的值为: "+keys);
Fanxing<Double,Integer>FX=new Fanxing<Double,Integer>(); //实例化泛型对象
FX.put(3.1415926, 100);
int val=FX.get(3.1415926); //取出双精度值对应的整数值
System.out.println("得到的值为: "+val);
}
}
```固定参数类型:
```java
public class Fanxing2<K extends String,V extends Number> {
private V v=null;
private K k=null;
public void setV(V v) {
this.v=v;
}
public V getV() {
return this.v;
}
public void setK(K k) {
this.k=k;
}
public K getK() {
return this.k;
}
public static void main(String[] args) {
Fanxing2<String,Integer>X=new Fanxing2<String,Integer>();
X.setK(new String("天天"));
X.setV(new Integer(21));
System.out.println("姓名: "+X.getK());
System.out.println("年龄: "+X.getV());
}
}