Java 泛型 (generics) 的使用
泛型是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 房廷飞