【学习笔记】泛型类

       泛型的本质是参数化的类型,也就是所操作的类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
一、优势:使程序安全简单
二、泛型类:是在实例化类的时候指明泛型的具体类型
 1、定义: class 类名称  <泛型标识T>{
        private 泛型标识  变量名;
    }
 2、使用:
     类名  <具体类型>  对象名=new 类名<>();
3、注意事项:
  泛型类数据类型参数只支持引用数据类型,不支持基本类型。

例:

public class SimpleGen<T> {
    private T a;
    public SimpleGen(T a) {
        super();
        this.a = a;
    }    
    public T getA() {
        return a;
    }
    public void setA(T a) {
        this.a = a;
    }
    public void showType() {
        System.out.println(a.getClass().getName());
    }
    public static void main(String[] args) {
        SimpleGen<Integer> sg=new SimpleGen<Integer>(new Integer(27));
        sg.showType();
        Integer i=sg.getA();
        System.out.println("value="+i);
    }
}

//输出结果:

java.lang.Integer
value=27


三、泛型方法:是在调用方法时指明泛型的具体类型
    1、定义:

 访问修饰符  <E> 返回值类型 方法名(参数列表){
     方法体
       }
2、注意事项:

(1)在泛型类中定义泛型方法不需要在返回值之前加入标识
(2)在普通类中可以定义泛型方法,在返回值之前加入<E>

例:

public class Box {
	public static void main(String[] args) {
	Integer[] integerAry=new Integer[] {9,5,2,7};
	printArray(integerAry);	
	String[] stringAry=new String[] {"L","S","H","Q"};
	printArray(stringAry);
	Double[] doubleAry=new Double[] {1.2,3.6,4.5,2.9,5.8};
	printArray(doubleAry);
	}	
	
	public static <E> void printArray(E[] ary) {
		for(E e:ary) {
			System.out.print(e+"\t");
		}
		System.out.println();
	}	
}

//输出结果:

9    5    2    7    
L    S    H    Q    
1.2    3.6    4.5    2.9    5.8


四、泛型接口:
1、定义:

interface 接口名<T>{
   常量;
   抽象方法;
   }
例:

public interface Box2<T> {
   public T getT(T t);
   public String getName(T t);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值