泛型基本知识

一. 泛型基本知识


1. 泛型字母基本规范

 
 E — Element,常用在java Collection里,如:List<E>,Iterator<E>,Set<E>
 K,V — Key,Value,代表Map的键值对
 N — Number,数字
 T — Type,类型,如String,Integer等等
 
 2. 泛型接口定义及使用

 接口定义如下:
 interface Info<T> {         // 在接口上定义泛型    
    public T getVar() ; // 定义抽象方法,抽象方法的返回值就是泛型类型    
    public void setVar(T x);  
}


使用方式一:
class InfoImpl implements Info<String> ...


使用方式二(通过实现类的泛型传递实现):
class InfoImpl<T> implements Info<T> ...
class InfoImpl<T,K,U> implements Info<U> ...


3. 泛型方法定义及使用

泛型方法定义如下:
public class StaticFans {  
    //静态函数  
    public static  <T> void StaticMethod(T a) {  
        Log.d("harvic","StaticMethod: "+a.toString());  
    }  
    //普通函数  
    public  <T> void OtherMethod(T a) {  
        Log.d("harvic","OtherMethod: "+a.toString());  
    }  
}


使用方式一(隐式传递, 代码不利于阅读和维护):
//静态方法  
StaticFans.StaticMethod("adfdsa");
//常规方法  
StaticFans staticFans = new StaticFans();  
staticFans.OtherMethod(new Integer(123)); 


使用方式二(显示传递, 建议方式):
//静态方法 
StaticFans.<String>StaticMethod("adfdsa");
//常规方法 
StaticFans staticFans = new StaticFans();
staticFans.<Integer>OtherMethod(new Integer(123));


4. 方法返回值存在泛型定义


public static <T> List<T> parseArray(String response,Class<T> object) ...


5. 类型绑定extends、super

T extends Fruit
T extends Fruit & Serializable
T super Fruit

6. 通配符?

说明: 通配符只能用在填充操作上
如果你想从一个数据类型里获取数据,使用 ? extends 通配符(能取不能存)
如果你想把对象写入一个数据结构里,使用 ? super 通配符(能存不能取)
如果你既想存,又想取,那就别用通配符。


个人总结,转自:

http://blog.csdn.net/harvic880925/article/details/49872903

http://blog.csdn.net/harvic880925/article/details/49883589

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值