【7 期】面试官:Java 的泛型原理
什么是泛型?有什么作用?
泛型就是将类型参数化,其在编译时才确定具体的参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。(使用方式)
使用泛型参数,可以增强代码的可读性以及稳定性。泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。
泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数,使用泛型后编译器自动转换。
Java 泛型的原理是什么?
泛型是一种语法糖,泛型这种语法糖的基本原理是类型擦除。
类型擦除:使用泛型的时候加上的类型参数,编译器在编译的时候去掉类型参数。
Java 的泛型基本上都是在编译器这个层次上实现的,也就是说:泛型只存在于编译阶段,而不存在于运行阶段。
在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程就是类型擦除。
在泛型类被类型擦除的时候,之前泛型类中的类型参数部分如果没有指定上限,如 < T > 则会被转译成普通的 Object 类型,如果指定了上限如 < T extends String > 则类型参数就被替换成 String 类型上限。
Java 面试题精选 文章被收录于专栏
无论你是准备面试,提升职场竞争力,还是单纯热爱 Java 编程。本专栏将为你呈现一系列精选的 Java 面试题,涵盖从基础到高级的各个层面,帮助你全面提升 Java 编程知识。
