JDK5-泛型

自己随便写的两个例子,可能说的不算全面吧!

 

import java.util.Hashtable;
public class Test1<K,V> {
	public Hashtable<K,V> table = new Hashtable<K, V>();
	public void put(K k,V v)
	{
		table.put(k, v);
	}
	public V get(K k)
	{
		return table.get(k);
	}
	
	public static void main(String[] args) {
		Test1<String, String> t = new Test1<String,String>();
		t.put("name", "How to learn Java");
		System.out.println(t.get("name"));
	}
}
/**
 * 1.泛型:创建一个用类型作为参数的类 。对于类的参数是可变的
 * 2.参数范围的缩减可以使用 public class Test1<K extends String,V extends Integer> 方式确定,参数的范围分别为String 类型和Integer 类型
 * 
*/

 

import java.util.ArrayList;
import java.util.List;

public class Test2 {

	public static void main(String[] args) {
		/********************************************/
		List<String> list = new ArrayList<String>();
		list.add("David");
		list.add("Jack");
		list.add("XiaoQiang");
		
		printList(list);
		
		List<?> list2 = list;
		printList(list2);
		
		List<People> list3 = new ArrayList<People>();
		list3.add(new People("David","man",18,2400));
		list3.add(new People("Wankun","man",25,5800));
		list3.add(new People("Zhangsan","woman",10,400));

		printList(list3);
	}
	
	/* 在函数的参数中,使用通配符来表示不同的数据类型*/
	public static void printList(List<?> l)
	{
		for(Object o:l)
		{
			System.out.println(o);
		}
	}
}

class People
{
	String name;
	
	String sex;
	
	int age;
	
	double salary;
	
	@Override
	public String toString() {
		return name+":"+" is "+sex+",He is "+age+".He's salary is "+salary;
	}
	
	public People(String name,String sex,int age,double salary) {
		this.name = name;
		this.sex = sex;
		this.age = age;
		this.salary = salary;
	}
}

/**
 * 1.JDK5中的集合论类使用了泛型,所以你可以根据你要使用的数据类型,选择相应类型的集合存储数据。
 * 	在集合处理数据的时候会自动进行转换。
 * 2.集合中运行使用通配符,比如在某函数的参数中,你不知道集合中是哪种类型的数据,可以使用?代表数据类型
 */
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值