关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

玩转Java面试-为什么需要泛型?

发布时间:2023-06-29 00:00:44

1、适用于多种数据类型执行相同的代码

private static int add(int a, int b) {

System.out.println(a + "+" + b + "=" + (a + b));

return a + b;

}

private static float add(float a, float b) {

System.out.println(a + "+" + b + "=" + (a + b));

return a + b;

}

private static double add(double a, double b) {

System.out.println(a + "+" + b + "=" + (a + b));

return a + b;

}

如果没有泛型,要实现不同类型的加法,每种类型都需要重载一个add方法;通过泛型,我们可以复用为一个方法:

2、泛型中的类型在使用时指定,不需要强制类型转换类型安全,编译器会检查类型

看下这个例子:

List list = new ArrayList();

list.add("xxString");

list.add(100d);

list.add(new Person());

我们在使用上述list中,list中的元素都是Object类型(无法约束其中的类型),所以在取出集合元素时需要人为的强制类型转化到具体的目标类型,且很容易出现java.lang.ClassCastException异常。

引入泛型,它将提供类型的约束,提供编译前的检查:

Listlist = new ArrayList();

// list中只能放String, 不能放其它类型的元素

小结

另外,如果对并发编程或者面试,想要了解更多请持续关注微信公众号:Java面试教程,关注更多有用的面试要点与技巧。

了解更多Java相关资料,请关注微信公众号:Java面试教程

回复: bbb20,获取更多Java资料与面试手册

回复: bbb19,获取Intellij idea最新版激活教程

让我们一起,玩转Java面试


/template/Home/leiyu/PC/Static