面试题:泛型的好处

69 阅读1分钟

泛型类泛型方法类型参数,想要搞懂什么是泛型,必须先理解什么是类型参数

看下面这段代码,anInt这个方法接收了一个int类型的参数,形参的名字是num,num就是变量参数

public class A {
    public int anInt(int num){
        return num;
    }
}

我们再看另一段代码

public class A {
    public <T> T anInt(T num){
        return num;
    }
}

在这一段代码中,引入了一个类型变量T,用尖括号( <> )括起来,放在public修饰符的后面。当我们需要用到这个方法时,就可以指定类型变量的类型。 例如:可以如下调用

String a = new A().<String>anInt("qwer");

也可以这样使用

Integer b = new A().<Integer>anInt(15);

也就是说,以前参数的类型是固定的,我们只能传递一个固定类型的参数;而现在,参数的类型也可以由我们指定,这就是类型参数

因此,泛型的出现有以下好处:

  1. 提高了代码的复用性。这点不用多说,从上面的代码就可以看出,原来需要为String和Integer各提供一个方法,使用了泛型后,使用一个方法便足以。
  2. 增加了程序的安全性。在有泛型类之前,程序员必须使用Object编写适用于多种类型的代码,在具体使用时,需要进行类型转换,如果类型转换出错,就会给程序带来毁灭性打击。而泛型的作用就是在编译时做类型检查,这无疑增加了程序的安全性。

如果你已经看到这里了,可以麻烦点个赞么,笔者在这里先行谢过