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
在代码中使用泛型将具有以下优点-
在编译时进行类型检查-通常,当您使用类型(常规对象)时,将不正确的对象作为参数传递时,它将在运行时提示错误。
而当您使用泛型时,错误将发生在编译时,这很容易解决。
代码重用-您可以使用泛型类型编写一次方法,类或接口,并且可以使用各种参数多次使用此代码。
对于某些类型,对于形式类型,您需要强制转换对象并使用。 使用泛型(在大多数情况下),您可以直接传递所需类型的对象,而不依赖于强制转换。