模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。模版可以分为两类,一个是函数模版,另外一个是类模版。Java中对应的技术称为泛型。函数模板:格式:1 template 2 返回类型 函数名(参数列表)3 {4 函数体5 }其中tem...
分类:
编程语言 时间:
2014-10-17 11:51:25
阅读次数:
172
通过百度开放平台申请api成功后,百度会提供一个application key简称ak和一个security key简称sk。看一下某个服务url的格式1. url前缀2. 服务类型3. 参数4. md5算法下面是sn签名的方法,得到sn的值。有个地方要注意的是签名前,先对每个参数值进行一次urle...
类是最常见的一种引用类型,最简单的定义如下class YouClassNam{}复杂的类可能包含一下内容类属性 类属性以及类修饰符. 非嵌套的类修饰符有:public,internal,abstract,sealed,static, unsafe,partial类名 各种类型参数,唯一...
Java虚拟机是不存在泛型类型对象的,所有的对象都属于普通类,甚至在泛型实现的早起版本中,可以将使用泛型的程序编译为在1.0虚拟机上能够运行的class文件,这个向后兼容性后期被抛弃了,所以后来如果用Sun公司的编译器编译的泛型代码,是不能运行在Java5.0之前的虚拟机的,这样就导致了一些实际生产的问题,如一些遗留代码如何跟新的系统进行衔接,要弄明白这个问题,需要先了解一下虚拟机是怎么执行泛型代码的。
总结:
1.记住一点,虚拟机中没有泛型,只有普通的类。
2.所有泛型的类型参数都用它...
分类:
编程语言 时间:
2014-10-14 12:37:18
阅读次数:
214
【泛型中的协变和逆变】 协变指能够使用比原始指定的派生类型的派生程度更大的类型,逆变指能够使用比原始指定的派生类型的派生程度更小的类型。 协变与逆变的本质就是参数的替换。逻辑不变,只进行参数的替换,以实现更高程序的复用。 通常,协变类型参数可用作委托的返回类型,而逆变类型参数可用作参数类型。对...
分类:
其他好文 时间:
2014-10-11 23:33:46
阅读次数:
250
Predicate 是一个委托,它代表了一个方法,它的定义是:namespace System { // 摘要: 表示定义一组条件并确定指定对象是否符合这些条件的方法。 // 参数: // obj: 要按照由此委托表示的方法中定义的条件进行比较的对象。 // 类型参数: // T...
1.解析一个正确的模板类 (1)首先,我们想创造一个模板,可以先针对一个特定的类型参数设计它的行为方式,然后在对抽象的一般类型进行推广。例如我们可以先设计String类的具体实现,然后再推广到String类模板。 (2)类模板的名字是不能重载的。所以,如果在某个作用域内声明了一个类模板,就不能有.....
分类:
编程语言 时间:
2014-10-01 14:08:31
阅读次数:
268
Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一...
分类:
编程语言 时间:
2014-09-29 15:52:51
阅读次数:
116
## block定义 // 定义 返回类型 (^block名字)(参数类型) = ^(参数){ 代码 } ## 简单用法 定义了Block代码块之后,就可以将一整块代码当做一个变量来使用,变量可为局部变量,也可为全局变量,这也是我认为Block最...
分类:
其他好文 时间:
2014-09-23 22:19:05
阅读次数:
180
一、default(T) 在泛型编成中如果不限制T类型参数是值类型或引用类型的话 你程序内部可能会出现错误,因为值类型不允许NULL.所以default用来获取一个类型的默认值,对于值类型得到new T()基本得到的都是0;对于引用类型会得到Null或者你不使用Default关键词,自己通过反射得到...
分类:
其他好文 时间:
2014-09-23 13:39:14
阅读次数:
109