博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
泛型--datatable TO List
阅读量:4165 次
发布时间:2019-05-26

本文共 1110 字,大约阅读时间需要 3 分钟。

写在前面

学习中多多交流,还是有些稚嫩,没有认识到自己可以从别人身上学到很多的东西。心智的成熟需要一点点的时间。故事的情节是这样的,重构中查询信息的部分,当我美美的敲完了,我很傲娇的跟师哥说,来看看我敲的吧,看看有什么要提高的~(其实是想被夸奖),结果呢?师哥的一句话,我就心情就像黑白电视了:“你是把什么传到B层的?(看都不看就问了一句)”“Datatable 啊,我很高兴了~”“行吧,回去查吧,这个不行,得用泛型,自己查吧~”好吧,试求我的心里阴影面积,于是,这篇博客就出来了。

什么是泛型

泛型的一般定义是包含类型参数的类型,泛型的参数只可以代表类,不能代表个别对象。

其中我看到有一个人说的对泛型的理解,我看了之后有一些体会,这里分享给大家。泛型的本质是参数化类型,也就是操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中。泛型是后来才引入的,在没有泛型之前,人们通过对Object的引用来实现参数的任意化,对于这种强制转换出现错误的情况下,编译器可能不提示错误,在运行的时候才出现异常。

用途

虽然我们对泛型这个次可能有点陌生,其实我们用过这个的,想起设计模式中的集合了吗?有网友说,泛型把同一个对象类型放在一起,可以理解成编队,我认为这个说的挺有道理的。当编队之后我们可以遍历这些对象,统一操作。

使用

泛型的使用也有一些规则,虽然我现在用的不多,不过提前了解也是挺好的:

  1. 泛型的类型参数只能是类类型(包括自定义类型)不能是简单类型。
  2. 同一种泛型可以对应多个版本,不同版本的泛型类型是不兼容的。
  3. 泛型的参数可以有多个。
  4. 泛型的参数类型可以使用extends语句,例如,习惯上称为“有界类型”。
  5. 泛型的参数类型还可以是通配符类型。

我们使用泛型的使用,现在常用的是Ilist list = new list,慢慢的积累,不断的学习,很多是有都是学的多了,然后知识才能融会贯通。

优点

泛型往往可以消除代码中的强制转换,同时获得一个附加的类型检查层,该检查层可以防止有人将错误类型的键或值保存在集合中,这就是泛型。

  1. 类型安全。我们知道使用泛型变量的类型限制,编译器可以验证类型假设,如果没有泛型,这些假设估计会写在注释里面了。
  2. 消除强制类型转换。泛型的一个附带好处使得可读性增加,并且减少了出错机会。
  3. 潜在的性能收益。泛型为较大的优化代开可能,泛型的实现方式,支持泛型不需要类文件的更改,所有工作都在编译器中完成。

碎碎念

之前的泛型在我的脑子里就像最近的雾霾似的,不过慢慢了解之后,发现总会有天晴的时候。还有不得不说的是,毕业论文和考试维护结束之后,自己每天学习,真的很开心呐,加油!

转载地址:http://yxexi.baihongyu.com/

你可能感兴趣的文章
Ext4文件系统三种日志模式——journal、ordered、writeback
查看>>
Linux挂载ext4根文件系统为journal模式
查看>>
linux内核引导参数解析及添加
查看>>
长短期记忆人工神经网络(LSTM)及其tensorflow代码应用
查看>>
长短期记忆人工神经网络(LSTM)网络学习资料
查看>>
运行网络中搜寻到的python程序代码——以长短期记忆人工神经网络(lstm)python代码为例
查看>>
闪存文件系统(Flash File System)
查看>>
WinMIPS64工具进行MIPS指令集实验(一)
查看>>
WinMIPS64工具进行MIPS指令集实验(二)
查看>>
Linux上快速入门英特尔Optane DC Persistent Memory Module的配置与使用
查看>>
Intel Optane DC Persistent Memory Module (PMM)详解
查看>>
Ubuntu 18.04安装英特尔Optane DC Persistent Memory Module配置工具ipmctl
查看>>
NUMA架构下的CPU拓扑结构
查看>>
如何判断变量在内存中如何放置的?低位在前还是高位在前
查看>>
c语言中通过指针将数值赋值到制定内存地址
查看>>
64位与32位linux c开发时默认字节对齐值
查看>>
malloc(malloc在32位编译系统中分配的地址会8字节对齐,64为编译系统中会8或者16字节对齐)
查看>>
初始化时共享内存的key值和信号量初始化的key值可以一样
查看>>
linux创建线程之pthread_create
查看>>
pthread_attr_init线程通俗举例讲解与线程属性
查看>>