为什么要用泛型呢

Posted raincedar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么要用泛型呢相关的知识,希望对你有一定的参考价值。

(1)保证了类型的安全性:泛型约束了变量的类型,保证了类型的安全性。例如List<int>和ArrayList。List<int>集合只能加入int类型的变量,ArrayList可以Add任何常用类型,编译的时候不会提示错误。

(2)避免了不必要的装箱、拆箱操作,提高程序的性能:泛型变量固定了类型,使用的时候就已经知道是值类型还是引用类型,避免了不必要的装箱、拆箱操作。举例说明:

使用泛型之前,我们使用object代替。

object a=1;//由于是object类型,会自动进行装箱操作。

int b=(int)a;//强制转换,拆箱操作。这样一去一来,当次数多了以后会影响程序的运行效率。

使用泛型之后

技术图片
public static T GetValue<T>(T a)

{
  return a;
}

public static void Main()

{
  int b=GetValue<int>(1);//使用这个方法的时候已经指定了类型是int,所以不会有装箱和拆箱的操作。
}
技术图片

(3)提高方法、算法的重用性。上面的例子基本能说明这个优势。

 

3、泛型的使用:

(1)泛型方法的使用:这也是博主使用最多的用法之一,像这种泛型方法一般是一些static的通用方法,例如原来项目中用到的一个将DataGridViewRow对象转换成对应的实体Model的方法如下:

以上是关于为什么要用泛型呢的主要内容,如果未能解决你的问题,请参考以下文章

为什么用泛型?

Java泛型详解

java泛型接口是怎么一回事,干啥用的

为什么要使用泛型和迭代器

c#泛型Generic

为什么要使用泛型?怎么用泛型?