zoukankan      html  css  js  c++  java
  • 为什么要用泛型呢

    (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的方法如下:

  • 相关阅读:
    Github国内mirror加速
    通过node-inspector或VSCode调试服务器上代码
    node nvm 常见命令
    HBuilderX 修改默认的终端
    LLVM 工具使用
    LLVM 获取Value Type
    LLVM Constant Value to c++ value
    Bison 命名位置
    llvm block
    vscode use cl.exe build C/C++
  • 原文地址:https://www.cnblogs.com/raincedar/p/13157728.html
Copyright © 2011-2022 走看看