博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《泛型集合》
阅读量:5022 次
发布时间:2019-06-12

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

泛型的定义:泛指的类型,什么类型都可以是,也同时什么类型都不是。
官网定义:泛型是通过参数化类型来实现在同一份代码上操作多种数据的技术。利用“参数化类型”将类型抽象化,从而灵活使用。
作用:1,减少拆箱和装箱,提高运行效率。
 List<int> list = new List<int>();
2,类型安全:
 List<int> list = new List<int>();
3,代码重用
  public static bool AreEqual<T>(T value1, T value2)
 
 {
  
  return value1.Equals(value2);
 
 }
 
 
 bool result = AreEqual<string>("A", "A");
 
 bool result = AreEqual<int>(5, 3);
List<T>
//泛型 约束:格式 : where T:约束需要符合的条件
        //Struct 约束 是值类型
        //Class  约束 是引用类型
        //New()  约束 是有一个空的构造函数
Lamoda
---泛型的优点
1. 泛型增强了代码的可读性
2. 泛型有助于实现代码的重用、保护类型的安全以及提高性能。
3. 我们可以创建泛型集合类。
4. 泛型实现了类型和方法的参数化
5. 我们还可以对泛型类进行约束以访问特定数据类型的方法。
6. 关于泛型数据类型中使用的类型的信息可在运行时通过使用反射获取。
1,声明一个泛型的方法 方法名后边 需要有一个<T>,其中字母<T>不是固定的,也可以使用其他字母
2,<T>就相当于占了一个坑,又相当于是一个代表了宇哥数据类型的参数占位符
3,泛型的好处作用:
1:复用性,2:指定类型,避免了拆箱装箱
public            int  Sun       (____)
返回修饰符     返回参数类型 方法名   参数列表
泛型的约束
T:结构--类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。
T:类----类型参数必须是引用类型,包括任何类、接口、委托或数组类型。
T:Nem()--类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时,new()?约束必须最后指定。
T:<基类名>----类型参数必须是指定的基类或派生自指定的基类。
T:<接口名称>---类型参数必须是指定的接口或实现指定的接口。可以指定多个接口约束。约束接口也可以是泛型的。
常见泛型集合类
List<T>对象ArrayList集合类
SortedList<TKey, TValue> 对应SortedList集合类
Queue<T> 先进先出的集合类Stack<T>
后进先出的集合类
Collection<T> 自定义泛型集合的基类
Dictionary<TKey, TValue> 对应于Hashtable集合类

转载于:https://www.cnblogs.com/zhangyuG/p/11172512.html

你可能感兴趣的文章
JVM CUP占用率过高排除方法,windows环境
查看>>
【转】JAVA字符串格式化-String.format()的使用
查看>>
【转】ButterKnife基本使用--不错
查看>>
【转】VS2012编译出来的程序,在XP上运行,出现“.exe 不是有效的 win32 应用程序” “not a valid win32 application”...
查看>>
函数中关于const关键字使用的注意事项
查看>>
微信架构(转)
查看>>
Web项目中的路径问题
查看>>
js随机数的取整
查看>>
关于解析漏洞
查看>>
十大经典预测算法(六)---集成学习(模型融合算法)
查看>>
用php做一个简单的注册用户功能
查看>>
一款基于css3的3D图片翻页切换特效
查看>>
Feign使用Hystrix无效原因及解决方法
查看>>
Sizeof与Strlen的区别与联系
查看>>
hadoop2.2.0_hbase0.96_zookeeper3.4.5全分布式安装文档下载
查看>>
Flutter 贝塞尔曲线切割
查看>>
golang 的编译安装以及supervisord部署
查看>>
easyui源码翻译1.32--Dialog(对话框窗口)
查看>>
阿里架构师,讲述基于微服务的软件架构模式
查看>>
Eclipse导入maven项目时,Pom.xml文件报错处理方法
查看>>