泛型

本文介绍了Java中的泛型概念,展示了如何使用泛型创建可复用且类型安全的代码。通过`Fanxing`类的实例,展示了泛型在哈希表中的应用,允许存储任意类型的数据。此外,还讲解了泛型的边界限制,如`Fanxing2`类,限制了键必须是字符串,值必须是数字的子类。示例中演示了如何设置和获取泛型类型的值。
摘要由CSDN通过智能技术生成

泛型

实例:
任意参数类型

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值