Java编程思想
云原生手记
欢迎大家关注我的公众号“云原生手记”,将定期更新云计算技术文章
展开
-
java 泛型1——简单泛型
来自《java编程思想》的定义,泛型实现了参数化类型的概念,使代码可以应用于多种类型。“泛型”这个术语的意思是:“适用于许多许多的类型”。泛型在编程语言中出现时,其最初的目的是希望类或方法能够具备最广泛的表达能力。如何做到这一点呢,正是通过解耦类或方法与所使用的类型之间的约束。java引入泛型的一个很大用于就是java的容器类,容器就是存放对象的地方,事实上,所有的程序在运行时都要求你持有...原创 2018-06-25 10:15:22 · 176 阅读 · 0 评论 -
java——泛型中的类型擦出
先来个实例,看看他会输出什么package com.zy.test;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;import java.util.Map;public class ErasedTypeEquivalence { ...原创 2018-06-29 14:25:45 · 409 阅读 · 0 评论 -
java泛型边界
上一节我们讲了泛型的类型擦除,为了弥补擦除带来的影响,我们必须协助泛型类,给定泛型类ide边界,以此告知编译器只能接受遵循这个边界的类型。这里需要重用了extends关键字。class Student<T extends People> 泛型类型参数将擦除到她的第一个边界(她可能会有多个边界,稍后你就会看到)。编译器实际上会把类型参数替换为她的擦除,就像上面的示例一样,T...原创 2018-06-29 16:03:28 · 808 阅读 · 0 评论 -
java 泛型2——泛型接口
泛型也可以应用于接口,这边以生成器gennerator为例,生成器是一种专门负责创建对象的类。实际上,这就是工厂方法设计模式的一种应用。不过,当使用生成器创建新的对象时,他不需要任何参数,而工厂方法一般需要参数。也就是说,生成器无需额外信息即可创建对象。首先生成器接口定义如下:package com.zy.test;public interface Generator<T>...原创 2018-06-25 12:26:57 · 339 阅读 · 0 评论 -
java 泛型3——泛型方法
在类中包含参数化方法,而这个方法所在的类可以使泛型类,也可以不是泛型类。即,是否拥有泛型方法,与其所在的类是否是泛型没有任何关系。 泛型方法使得该方法独立于类而产生变化(就是独立于类,跟是不是泛型类没有直接关系)。泛型方法的基本规则就是:无论何时,只要你能做到,你就应该尽量只使用泛型方法(就是相对于泛型类,首选泛型方法)。也就是说,如果使用泛型方法可以取代将整个类泛型化,那就应该只用...原创 2018-06-25 16:30:40 · 318 阅读 · 0 评论 -
java 一个通用的Generator——批量创建类
下 面的程序可以为任何类构造一个Generator,只要该类具有默认的构造函数。为了减少类型声明,他提供了一个泛型方法,用以生成BasicGenerator:public interface Generator<T> { T next();}public class BasicGenerator<T> implements Generator<T&g...原创 2018-06-25 18:03:36 · 3460 阅读 · 0 评论