http://blog.csdn.net/archie2010/article/details/6232228学习集合框架的时候经常用hasmap就是泛型,c++里面叫模板,其实我是想研究一下迭代器模式的。睡觉,明天再说。 1 import java.util.ArrayList; 2 import...
分类:
编程语言 时间:
2014-07-20 10:03:00
阅读次数:
286
模板的四大场景
1.数据类型与算法相分离的泛型编程
2.类型适配Traits
3.函数转发
4.元编程
回想起当时在学习C++模板时的无助和恐惧,现在还心有余悸,其实我现在都还是一样地的有畏惧,当看到模板套模板,不停地typedef,这样的变态代码的时候,就觉得很扯蛋,编程不是让人快乐的吗?这样痛苦是为了什么,写这样难看的东西是为了什么。有更好的动态语言为什么不用?我也想不明白,我也不想争论哪个语言更好。但我分享出来我的心得,只希望别人少走弯路....
分类:
编程语言 时间:
2014-07-19 18:17:29
阅读次数:
293
这是一篇Dr. Dobb's Journal对STL之父stepanov的采访。文中数次提到STL的基本思想、语言的特性、编程的一些根本问题等,非常精彩。这篇文章让我想去拜读下stepanov的大作《Elements of Programming》了。原文链接:http://www.stepanov...
分类:
其他好文 时间:
2014-07-19 15:27:45
阅读次数:
352
数组为什么特殊?
Java中大量其他的方式可以持有对象,那么,到底是什么使数组变得与众不同呢?
数组与其他种类的容器之间的区别有三方面:
效率
类型
保存基本类型的能力
与众不同的原因?
泛型之前:
在泛型之前,其他的容器类在处理对象时,都将它们是做没有任何具体类型。也就是说,
它们将这些对象都当做Java中所有类的根类Object处理。数组之所以优于泛型之前的容器,...
分类:
其他好文 时间:
2014-07-19 02:47:16
阅读次数:
206
1.修改搜索功能,增加如下的额外搜索选项 A.按文本搜索(默认选项) B.按通配符搜索 C.按正则表达式搜索2.搜索增加如下特性: A.可以按照名字空间检索特定名字空间下的所有类. B.修正了官方版本无法搜索泛型类型的功能.警告: A.此版本为非官方版本. B.本软件为第三方修改软件,...
分类:
其他好文 时间:
2014-07-18 18:26:33
阅读次数:
211
对于一些"大对象"的创建,我们常常希望延迟加载,即在需要的时候再创建对象实例。现在Lazy很好地支持了这一特点。主要包括: 没有Lazy之前 Lazy实例 延迟加载的本质 没有Lazy之前 在没有Lazy之前,我们通过如下方式实现延迟加载。 public class LazySinleton{ pr...
分类:
Web程序 时间:
2014-07-18 14:31:53
阅读次数:
300
泛型,类型安全机制。 好处: 1.将运行时期出现问题ClassCastException转移到了编译时期,方便解决问题,减少运行时期的问题,有利于程序的健壮性。 2.避免了强制转换的麻烦 泛型格式: ArrayList al = new ArrayList(); 若增加Integer类型的数据,在编...
分类:
编程语言 时间:
2014-07-18 14:13:04
阅读次数:
208
C#中之所以有集合这个东东,是因为数组的长度是固定的,而实际需求是,不确定未来这个“数组”的个数,故出现集合这个概念,因为集合的容量会随元素的增加曾倍数增长。C#中有2类常用集合:ArrayList,泛型版本是List(类似数组集合)和Hashtable,泛型版本是Dictionary(键值对集合)...
分类:
其他好文 时间:
2014-07-18 12:12:25
阅读次数:
189
协变(Convariant)和逆变(Contravariant)的出现,使数组、委托、泛型类型的隐式转换变得可能。 子类转换成基类,称之为协变;基类转换成子类,称之为逆变。.NET4.0以来,支持了泛型接口的协变和逆变。 泛型协变 如果子类泛型隐式转换成基类泛型,使用泛型协变。 有这样的2个基类和派...
分类:
Web程序 时间:
2014-07-18 00:07:51
阅读次数:
340