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    房廷飞

猜你喜欢

转载自www.cnblogs.com/fangtingfei/p/10657166.html