泛型_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 泛型 >>列表
· “泛型”总结发布时间:2013-10-21
泛型是JDK1.5中一个最重要的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小地抛出ClassCastException的可能。在JDK1.5中,你可以声明一个集合将接收/返回的对象的类型。泛型特点:只要编译的时候没有问题,执行的时候肯定没有问题。泛型之前:类别定义时的逻辑完全一样,只是里面成员变量的类型不同。如果需要多个相似的类,需要定义多个文件,不同的只是变量的类型,而逻辑是完全一样的。以后使用集合的时候必须要使用泛型(可以避免很多强制类型转换... 查看全文
· 泛型学习—01发布时间:2013-10-15
package泛型1;/***定义一个泛型类,并且里面可以同时传入三个不同类型的数据*/publicclassGenericsArrayList<T,K,B>{privateT[]arr1;privateK[]arr2;privateB[]arr3;privateintindex;privateintindex2;privateintindex3;//默认的构造方法@SuppressWarnings("unchecked")publicGenericsArrayList()... 查看全文
· c#泛型约束发布时间:2013-10-11
在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用where上下文关键字指定的。下表列出了六种类型的约束:约束说明T:结构类型参数必须是值类型。可以指定除Nullable以外的任何值类型。有关更多信息,请参见使用可空类型(C#编程指南)。T:类类型参数必须是引用类型,包括任何类、接口、委托或数组类型。T:new()类型参数必须具有无参数的公共构造函数... 查看全文
一般来说,将集合声明参数化,以及使用JDK所提供的泛型和泛型方法,这些都不太困难。编写自己的泛型会比较困难一些,但是值得花时间去学习如何编写?这个简单例子堆栈的实现:publicclassStack{privateObject[]elements;privateintsize=0;privatestaticfinalintDEFAULT_INITIAL_CAPACITY=16;publicStack(){elements=newObject[DEFAULT_INITIAL_CAPACITY];... 查看全文
数组与泛型相比,有两个重要的不同点,首先,数组是协变的(covariant)。这个词听起来有点吓人,其实只是表示如果Sub为Super的子类型,那么数组类型Sub[]就是Super[]的子类型。相反,泛型则是不可变的(invariant):对于任意两个不同类型Type1和Type2,List<Type1>既不是List<Type2>的子类型,也不是List<Type2>的超类型。你可能认为,这意味着泛型是有缺陷的,但实际上,可以说数组才是有缺陷的... 查看全文
先来介绍一些术语。声明中具有一个或者多个类型参数的类或者接口,就是泛型(generic)类或者接口。例如,List就只有单个参数类型E,表示列表的元素类型。从技术角度来看,这和接口的名称应该是指现在的List<E>(“读作E的列表”),但是人们经常把它简称为List。泛型类和接口统称为泛型。用泛型编程时,会遇到许多编译器的警告:非受检强制转换化警告、非受检方法调用警告、非受检普通数组创建警告,以及非受检转换警告。当你越来越熟悉泛型之后,,遇到的警告也会越来越少... 查看全文
自从泛型被添加到JDK5语言以来,它一直都是一个颇具争议的话题。一部分人认为泛型简化了编程,扩展了类型系统从而使编译器能够检验类型安全;另外一些人认为泛型添加了很多不必要的复杂性。对于泛型我们都经历过一些痛苦的回忆,但毫无疑问通配符是最棘手的部分。通配符基本介绍泛型是一种表示类或方法行为对于未知类型的类型约束的方法,比如“不管这个方法的参数x和y是哪种类型,它们必须是相同的类型”,“必须为这些方法提供同一类型的参数”或者“foo()的返回值和bar()的参数是同一类型的”... 查看全文
· 关于泛型发布时间:2013-09-01
授人与鱼不如授之于渔泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。Java语言引入泛型的好处是安全简单。在JavaSE1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译器可能不提示错误... 查看全文
· 第五讲(泛型)发布时间:2013-08-31
一、概述优点1:性能对值类型使用非泛型集合类,在把值类型转换为引用类型,和把引用类型转换为值类型时,需要进行装箱和封箱操作。如arryList数组。优点2:类型安全优点3:二进制代码的重用优点4:代码的扩展二、泛型类使用泛型类类型安全,不必装箱拆箱操作。三、泛型类的功能1.默认值可以使用default关键字,通过default关键字,将null赋予引用类型,讲0赋予值类型。2.约束泛型支持集中约束功能whereT:struct结构约束whereT:class类约束必须是引用类型whereT... 查看全文
· 简单泛型运用发布时间:2013-08-30
User实体类packagetest;publicclassUser{privateStringuname;privateintuage;privateStringclassName;publicStringgetUname(){returnuname;}publicvoidsetUname(Stringuname){this.uname=uname;}publicintgetUage(){returnuage;}publicvoidsetUage(intuage){this... 查看全文
前言:由于上一个星期工作繁忙,利用上下班和晚上睡前空余的时间拜读了秦小波老师的《改善Java程序的151建议》,感觉廓然开朗,注意到了很多平时在编写代码中并不会注意的问题,甚至感觉自己对Java只是略懂皮毛,不足以登大雅之堂,特此与读者分享读书笔记,以下内容摘自《改善Java程序的151建议》一书和笔者的理解Java高质量代码系列文章面向对象篇:http://ray-yui.iteye.com/blog/1926984数据类型篇:http://ray-yui.iteye... 查看全文
前一篇博文是《泛型List<T>转存为XML文档》http://www.cnblogs.com/insus/p/3277410.html把一个List<T>集合,存储为一个XML文档。但在开发实际环境中,我们有可能是读取一个XML文档,存入集合List<T>中,依便程序逻辑处理或是数据分析之用。在站点下放有一个XML文档,就如这个:《浏览器显示XML文档》http://www.cnblogs.com/insus/p/3274220.html它是显示于浏览器上... 查看全文
· 泛型List<T>转存为XML文档发布时间:2013-08-23
经常会有这情况,在程序处理结果为泛型List<T>,但为了能把这些集合输出XML文档。Insus.NET就因此问题,演示一个范例。在程序中,创建一个类:List<T>的集合手动来创建,替代真实环境中逻辑处理结果。OK,我们可以参考《怎样创建XML文档》http://www.cnblogs.com/insus/p/3276944.html的方法来存储为XML文档,不过好象已经写死了。也可以参考下面的方法,动态循环也添加节点:动画操作演示:... 查看全文
· java 伪泛型与c#真实泛型思考发布时间:2013-08-20
沃日,不知道被那本书忽悠了,下面两种方式使用泛型其实性能上没有差别,区别的只是自己手动写强制类型转换或者是编译器做强制类型转换(语法糖解析)。。。我就奇怪了这个cast操作怎么会省掉了。。。Lista=newLinkedList<String>();Strings=(String)a.get(1);List<String>b=newLinkedList<String>();s=b.get(1);对应的bytecode,经测试的确性能上没有区别... 查看全文
iterator迭代器概述迭代器是可以返回相同类型的值的有序序列的一段代码。迭代器可用作方法、运算符或get访问器的代码体。迭代器代码使用yieldreturn语句依次返回每个元素。yieldbreak将终止迭代。可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在foreach语句中被客户端代码调用,如下所示:foreach(intxinSampleClass.Iterator2){}迭代器的返回类型必须为IEnumerable、IEnumerator... 查看全文
· 反射遍历List<>泛型类型发布时间:2013-08-13
有这样一个需求:一个实体模型,有一个属性是一个实体列表List<OrderDetail>,我需要对实体列表遍历,对每一个实体的属性根据属性特性进行验证,如是否为必填等等,如下一个反射方法能满足需求。publicclassOrderObj{publicOrderorder{get;set;}publicList<OrderDetail>orderDetail{get;set;}}publicclassOrder{publicstringOrderID{get;set;}... 查看全文
1:usingSystem;2:usingSystem.Collections.Generic;3:usingSystem.Linq;4:usingSystem.Text;5:usingSystem.Data;6:usingSystem.Data.SqlClient;7:usingSystem.Reflection;8:9:namespaceDAL10:{11:publicclassSqlHelper12:{13... 查看全文
· 30分钟泛型教程发布时间:2013-08-06
来源:liulun的博客一、泛型入门:我们先来看一个最为常见的泛型类型List<T>的定义(真正的定义比这个要复杂的多,我这里删掉了很多东西)123456789101112[Serializable]publicclassList<T>:IList<T>,ICollection<T>,IEnumerable<T>{publicTthis[intindex]{get;set;}publicvoidAdd(Titem)... 查看全文
· 黑马程序员——泛型发布时间:2013-07-30
-------<ahref="http://www.itheima.com"target="blank">android培训</a>、<ahref="http://www.itheima.com"target="blank">java培训</a>、期待与您交流!----------1、体验泛型?Jdk1.5以前的集合类中存在什么问题?ArrayListcollection=newArrayList();?collection.add(1)... 查看全文
· 解析java泛型的的类型擦除发布时间:2013-07-28
解析java泛型的的类型擦除一、Java泛型的本质Java虚拟机中并没有泛型类型对象,所有的对象都是一样的,都属于普通的类。由于JVM根本不支持泛型类型,是编译器?耍了个花招?,使得似乎存在对泛型类型的支持,它们用泛型类型信息检查所有的代码,但随即?擦除?所有的泛型类型并生成只包含普通类型的类文件。C#泛型实现的是类型膨胀,即真实泛型,C#里面泛型无论在程序源码中、编译后的IL中或是运行期的CLR中都是切实存在的,List<Integer>与List<String>... 查看全文