您的位置:首页 > 其它

什么是泛型?简单记录一下自己理解的泛型。

2017-12-08 21:02 591 查看
今天简单梳理一下自己理解的泛型,以便以后查阅。

泛型是JDK1.5引入的新特性,也是最重要的一个特性

泛型可以在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的

泛型的原理就是“类型的参数化”,即把类型看做参数。

也就是说把所要操作的数据类型看做参数,就像方法的形式参数是运行时传递的值的占位符一样。

简单的说,类型变量扮演的角色就如同一个参数,它提供给编译器用来类型检查的信息

泛型可以提高代码的拓展性和重要性。

总结:所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型,泛型变成是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。

泛型的应用场景:是当需要创建多个对象,这些对象的逻辑都一样,但是数据类型不一样,这个时候可以创建一个泛型类。这样就可以避免大量的代码冗余。

举个例子,比如需要一个对象有一个属性,如果这个属性你想得到整型,又想得到字符串。又想得到bool类型,那么最简单的方法当然是创建三个类,然后new两三个对象出来。   或者用强制类型转换,但是强制类型转换有时候也会出错的。

但是用了泛型可以这样做。  

public class GenericDemo1 {

public static void main(String[] args) {
// TODO Auto-generated method stub
//创建一个泛型类对象
GenericClass<String> gen1=new  GenericClass<String>("chenhao");
System.out.println(gen1.getData());
GenericClass<Integer> gen2=new GenericClass<Integer>(1);
System.out.println(gen11.getData());
}
}
class GenericClass<T>{//创建一个泛型类
private T data;
public Animal(){}
public Animal(T data){
this.data=data;
}
public void setData(T data){
this.data=data;
}
public T getData(){
return data;
}
}





这样只需要定义一个泛型类,既能传入字符串 又能传入整型。 这个结果打印出来的就是  chenhao  1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐