`

java中泛型的学习

    博客分类:
  • java
阅读更多

1 自定义类使用泛型类作为参数:

 

//T是一个模板    相当于 一个类传到类中 (当使用时候传进来什么类型,这个T就是什么类型) 这里的T后面也可以加上一个V 即两个模板的泛型类
public class FanXing<T> {
	//定义成员变量T 
	private T foo;
	//得到类型T对象 
	public T getFoo() {
		return foo;
	}
	//设置类型T
	public void setFoo(T foo) {
		this.foo = foo;
	}
	public void print( ){
		System.out.println( foo );
	}
	
	public static void main(String[] args) {
		//传到类中的 变量类型是String,则类中的所有T类型为String 
		FanXing<String> f = new FanXing<String>();
		f.setFoo(new String("eee"));
		f.print(); 
	}
}

 

  2 自定义泛型集合类 

//自定义泛型集合类 
public class SimpleCollection<T> {

	private  T[] arr ;
	private int index;
	
	
	@SuppressWarnings("unchecked")
	public SimpleCollection(){
		arr  = (T[]) new Object[10];
		index = 0;
	}
	
	@SuppressWarnings("unchecked")
	public SimpleCollection( int len){
		arr  = (T[]) new Object[len];
		index = 0;
	}
	
	public T get(int  index ){
		return arr[index];
		
	}
	
	public void set( T t,Integer i ){
		arr[ i ] =  t; 
	}
	
	
	public static void main(String[] args) {
               //测试函数
		SimpleCollection<String> col = new SimpleCollection<String>();
		
		col.set("there ",0 );
		col.set(" is ",3);
		col.set(" torch ",4 );
		System.out.println( col.get(0));
	}
	
}

 

 

  

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics