什么是泛型?有什么好处?
面试回答¶
面试官: 什么是泛型?有什么好处?
你:
泛型就是把类型当作参数,让一段代码能处理多种不同类型的数据。好比一个模具,你传进去“String”它就做装字符串的盒子,传进去“Integer”它就做装整数的盒子,一套代码复用多种场景。
带来的好处就三个字:早、少、净。
-
早:类型检查提前到编译期。原来用集合不指定类型,什么都往里丢,取出来再强转,运行时才报
ClassCastException;有了泛型,编译器直接给你拦住,不会把隐患留到线上。 -
少:省去手动强转代码。
List<String>取出来就是 String,不用自己写(String) list.get(0),代码简洁,出错概率低。 -
净:代码更干净、意图更清晰。一个方法
List<User> getVIPs()一看就知道返回的是用户列表,可读性比裸的List强太多。
背后的思想是“用类型约束代替人工约定”:以前你写注释说“这个List只能放String”,泛型直接把这条规则写进类型系统,让编译器帮你执行。这也是 Java 引入泛型的最大动机——把隐式约定变成显式强约束。
