一、泛型比非泛型优点分为两部分
1)更加安全
在非泛型编程中,虽然所有的东西都可以作为 Object 传递,但是在传递的过程中免不了要进行类型转换。而类型转换在运行时是不安全的。使用泛型编程将可以减少不必要的类型转换,从而提高安全性。不仅是值类型,引用类型也存在这样的问题,因此有必要的尽量的去使用泛型集合。
2)效率更高
在非泛型编程中,将简单类型作为 Object 传递时会引起装箱和拆箱的操作,这两个过程都是具有很大开销的。使用泛型编程就不必进行装箱和拆箱操作了。
二、决定在何时何地使用泛型,您需要考虑以下几件事件:
您所使用的类型是否包含或操作未指定的数据类型(如集合类型)?如果是这样,如果是这样,创建泛型类型将能提供更多的好处。如果您的类型只操作单一的指定类型,那么就没有必要去创建一个泛型类。
如果您的类型将操作值类型,那么就会产生装箱和拆箱操作,就应该考虑使用泛型来防止装箱和拆箱操作。
泛型的强类型检查有助于快速查找错误(也就是编译期而非运行期),从而缩短 bug修复周期。
在编写多个类操作多个数据类型时是否遭遇到“代码膨胀”问题(如一个 ArrayList只存储 StreamReaders 而另一个存储 StreamWriters)?其实编写一次代码并让它工作于多个数据类型非常简单。
泛型使得代码更为清晰。通过消除代码膨胀并进行强制检查,您的代码将变得更易于阅读和理解。
泛型
最新推荐文章于 2020-11-12 15:46:55 发布