Java 面试题
目录

Java 中什么是泛型?它有什么作用?

· 约 3 分钟读完 · 第 12 / 274 章

推荐答案

泛型(Generics)是 Java 语言中的一种特性,它允许在定义类、接口和方法时使用类型参数。泛型的主要作用是提供类型安全的代码,并减少类型转换的需要。通过使用泛型,可以在编译时检测到类型错误,从而避免运行时出现类型转换异常。

本题详细解读

什么是泛型?

泛型是 Java 5 引入的一个特性,它允许在定义类、接口和方法时使用类型参数。类型参数可以被具体的类型(如 Integer、String 等)替换,从而使得代码更加通用和类型安全。

泛型的作用

  1. 类型安全:泛型允许在编译时检查类型,从而避免在运行时出现类型转换异常。例如,使用泛型集合(如 List<String>)可以确保集合中只能存储 String 类型的对象。

  2. 代码复用:通过使用泛型,可以编写通用的代码,适用于多种类型。例如,可以编写一个通用的 Box 类,用于存储任意类型的对象。

  3. 减少类型转换:在使用泛型之前,从集合中获取对象时通常需要进行类型转换。使用泛型后,可以直接获取指定类型的对象,无需进行类型转换。

泛型的使用示例

泛型通配符

泛型通配符(?)用于表示未知类型。通配符通常用于方法参数中,以接受任意类型的泛型对象。

泛型边界

泛型边界用于限制类型参数的范围。可以使用 extends 关键字来指定类型参数必须是某个类的子类或实现某个接口。

在这个例子中,T 必须是 Number 类或其子类(如 Integer、Double 等)。

泛型方法的定义

泛型方法是在方法声明中使用类型参数的方法。泛型方法可以在非泛型类中定义。

在这个例子中,<T> 表示这是一个泛型方法,T 是类型参数。