如果你发现你有很多重复的代码,你可能会考虑用模板方法消除容易出错的重复代码。这里有一个例子:下面的两个类,完成了几乎相同的功能: 实例化并初始化一个Reader来读取CSV文件;读取每一行并解析;把每一行的字符填充到Product或Customer对象;将每一个对象添加到Set里;返回Set。正如你看到的,只有有注释的地方是不一样的。其他所有步骤都是相同的。ProductCsvReader.jav...
分类:
编程语言 时间:
2014-08-19 22:32:05
阅读次数:
356
如果你发现你有很多重复的代码,你可能会考虑用模板方法消除容易出错的重复代码。这里有一个例子:下面的两个类,完成了几乎相同的功能: 实例化并初始化一个Reader来读取CSV文件; 读取每一行并解析; 把每一行的字符填充到Product或Customer对象; 将每一个对象添加到...
分类:
编程语言 时间:
2014-08-19 22:23:55
阅读次数:
335
可变参数在JDK 1.5添加,刚才知道的。以下来自《Java泛型和集合》一书。将参数打包成一个数组传入方法中是一件让人讨厌的事,在jdk1.5中加入了一个新的功能称为vararg(动态参数),让我们来看看示例class Lists {public static List toList(T… arr....
分类:
编程语言 时间:
2014-08-19 18:17:25
阅读次数:
269
java 泛型深入之Set有用工具 各种集合泛型深入使用演示样例,匿名内部类、内部类应用于泛型探讨//Sets.javapackage org.rui.generics.set;import java.util.HashSet;import java.util.Set;/** * 一个Set有用工具...
分类:
编程语言 时间:
2014-08-18 20:01:42
阅读次数:
320
类class 类 Class 已经泛型化了,但是很多人一开始都感觉其泛型化的方式很混乱。Class<T> 中类型参数 T 的含义是什么?事实证明它是所引用的类接口。怎么会是这样的呢?那是一个循环推理?如果不是的话,为什么这...
分类:
编程语言 时间:
2014-08-18 12:44:44
阅读次数:
313
转载自:拈花微笑自从Java 5引入泛型之后,Java与C++对于泛型不同的实现的优劣便一直是饭后的谈资。在我之前的很多training中,当讲到Java泛型时总是会和C++的实现比较,一般得出的结论是Java使用类型擦除(type erasing),泛型信息只在编译时供javac作类型检查用,在编...
分类:
编程语言 时间:
2014-08-16 12:29:40
阅读次数:
276
泛型是对于数据的一种规范,他限定了类、容器、方法可以接受的参数类型,避免参数类型混乱。一、基本泛型泛型最常见的地方就是集合,如:-- ArrayList 表示这个集合中只能存放String类型的元素-- HashMap 表示这个图中只能存放键为String类型,值为Object类型的元素特别要注意的...
分类:
编程语言 时间:
2014-08-15 22:21:49
阅读次数:
301
类 Class 已经泛型化了,但是很多人一开始都感觉其泛型化的方式很混乱。Class<T> 中类型参数 T 的含义是什么?事实证明它是所引用的类接口。怎么会是这样的呢?那是一个循环推理?如果不是的话,为什么这样定义它...
分类:
编程语言 时间:
2014-08-14 21:12:39
阅读次数:
206
mr自带的例子中的源码SecondarySort,我重新写了一下,基本没变。这个例子中定义的map和reduce如下,关键是它对输入输出类型的定义:(java泛型编程)public static class Map extends Mapper public static class Reduce ...
分类:
其他好文 时间:
2014-08-14 19:43:59
阅读次数:
255
先度娘一下多态的概念:多态==晚绑定。 不要把函数重载理解为多态。 因为多态是一种运行期的行为,不是编译期的行为。 多态:父类型的引用可以指向子类型的对象。 比如 Parent p = new Child(); 当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误...
分类:
编程语言 时间:
2014-08-13 14:20:46
阅读次数:
171