首页 >

Java为什么要有泛型? – 网络|

劲舞团怎么种花,怎么在word盖章,ps怎么把一张照片Java为什么要有泛型? - 网络|Java为什么要有泛型

先说下泛型的主要作用:

1,强化类型安全,比如定义了一个List<String>,那么里面只能存放String,不允许存放其他类型(派生自String的除外)。类型安全应该在编译和运行时都能体现。

2,提高性能,减少类型转换和装箱拆箱次数。

再说下java泛型奇葩之处:

1,java泛型实现的原理叫类型擦除,不管代码中怎么定义泛型,编译后都变成object,因此不能实现运行时的类型安全。而且java编译器不够聪明,可以很容易骗过去。举个例子,你调用了第三方的接口返回List<String>,但实际拿到的值里面可能跟String没有半毛钱关系。

2,既然类型被擦除,那么类型转换就不可避免了,因此使用泛型和非泛型在性能上没有任何变化。


Java为什么要有泛型? - 网络|
  • css+选项卡左右拖动 |animation css3回调
  • css+选项卡左右拖动 |animation css3回调 | css+选项卡左右拖动 |animation css3回调 ...

    Java为什么要有泛型? - 网络|
  • css 按钮click |css边框实线
  • css 按钮click |css边框实线 | css 按钮click |css边框实线 ...

    Java为什么要有泛型? - 网络|
  • css打出一个黑点 |css 样式顺序
  • css打出一个黑点 |css 样式顺序 | css打出一个黑点 |css 样式顺序 ...