当 Java 中已经包含数组时,为什么还需要用到泛型?


Java 中的数组用于存储同类型数据,而泛型允许用户动态选择方法或类构造函数接受的类型(类),动态地。

通过定义类泛型,让其类型安全,即它可以对任何数据类型进行操作。为了理解泛型,让我们考虑一个示例 -

示例

 实时演示

class Student<T>{
   T age;
   Student(T age){
      this.age = age;
   }
   public void display() {
      System.out.println("Value of age: "+this.age);
   }
}
public class GenericsExample {
   public static void main(String args[]) {
      Student<Float> std1 = new Student<Float>(25.5f);
      std1.display();
      Student<String> std2 = new Student<String>("25");
      std2.display();
      Student<Integer> std3 = new Student<Integer>(25);
      std3.display();
   }
}

输出

Value of age: 25.5
Value of age: 25
Value of age: 25

为什么我们需要泛型

在代码中使用泛型,您将获得以下好处 -

  • 编译时类型检查 - 通常,当您使用类型(常规对象)时,当您将不正确的对象作为参数传递时,它会提示在运行时发生错误。

  • 而当您使用泛型时,错误将在编译时发生,这很容易解决。

  • 代码重用 - 您可以使用泛型类型编写方法、类或接口一次,并且可以使用此代码多次使用各种参数。

  • 对于某些类型,使用正式类型,您需要强制转换对象并使用。使用泛型(在大多数情况下),您可以直接传递所需类型的对象,而无需依赖强制转换。

更新于: 09-Sep-2019

66 次浏览

职业生涯由此起航

完成课程获得认证

开始学习
广告