泛型是JDK1.5以后增加的,它可以帮助我们建立类型安全的集合。在使用了泛型的集合中,遍历时不必进行强制类型转换。JDK提供了支持泛型的编译器,将运行时的类型检查提前到了编译时执行,提高了代码可读性和安全性。
泛型的本质就是“数据类型的参数化”。 我们可以把“泛型”理解为数据类型的一个占位符(形式参数),即告诉编译器,在调用泛型时必须传入实际类型。
自定义泛型:
我们可以在类的声明处增加泛型列表,如:<T,E,V>。字符可以是任何标识符,一般采用这3个字母。
demo:
package ftf001; public class generic { public static void main(String[] args) { MyCollection<String> mc=new MyCollection<>(); //这里的String就是实际传入的数据类型! mc.set("房廷飞", 0); String a =mc.get(0); //由于使用了泛型,返回的数据类型直接就是String类型,不再需要强制类型转换 } } //应用泛型,提前做类型检测,使程序更加稳定,可读性强 class MyCollection<E>{ //一般使用T,E,V三个字母 Object[] objs=new Object[5]; public void set(E obj,int index) { //E表示泛型 objs[index]=obj; } public E get(int index) { //E泛型 return (E)objs[index]; //E泛型 } }
泛型E像一个占位符一样表示“未知的某个数据类型”,我们在真正调用的时候传入这个“数据类型”。
2019-04-04 21:35:43 房廷飞
原文地址:https://www.cnblogs.com/fangtingfei/p/10657166.html
时间: 2024-11-09 23:17:42