什么是泛型?
泛型(Generic Programming),是为了解决不同对象类型的相同操作而提出的概念。
简单理解,就是提供一个通用模板,以减少为不同对象类型而设计不同的类。泛型的理解 类似于对象抽象的概念,只不过泛型是在程序层面的抽象。
那么怎样去使用泛型呢?
对于集合类,泛型提供了参数类型来自动匹配数据对象,例如 ArrayList<String>,String就是参数类型。
在日常开发过程中,集合类已提供完备的泛型方法,有兴趣的可以去看看它们的作用方式和原理。
那么是否可以自己来构建一个泛型类呢?答案是可以的。
在普通类的基础上,类名后面拼接尖括号<T>,将普通类的变量、方法的数据类型替换为T,如此我们就得到了一个简单的泛型类。
Java提供了另一个概念:通配符类型(Wildcard Type)。
怎么去理解呢?Java泛型中允许使用一个字符来代替数据类型进行编译,当程序执行时根据实际传递的参数类型进行数据传递解析。例如ArrayList<String>,可以看做是 ArrayList<T> ,此处T等于 String。
在Java中关于泛型通配符,有几个约定俗成的使用:T、K、V、E等,T表示任意类型;K和V分别表示键、值的类型;E表示元素类型。
至此,我们应该已经对泛型有了一些基本的理解,那么:泛型都有哪些优缺点呢?
#头号有新人##分享##java##泛型#
#大有学问#