- 博客(12)
- 资源 (7)
- 收藏
- 关注
原创 java泛型边界
上一节我们讲了泛型的类型擦除,为了弥补擦除带来的影响,我们必须协助泛型类,给定泛型类ide边界,以此告知编译器只能接受遵循这个边界的类型。这里需要重用了extends关键字。class Student<T extends People> 泛型类型参数将擦除到她的第一个边界(她可能会有多个边界,稍后你就会看到)。编译器实际上会把类型参数替换为她的擦除,就像上面的示例一样,T...
2018-06-29 16:03:28 792
原创 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 394
原创 java 一个通用的Generator——批量创建类
下 面的程序可以为任何类构造一个Generator,只要该类具有默认的构造函数。为了减少类型声明,他提供了一个泛型方法,用以生成BasicGenerator:public interface Generator<T> { T next();}public class BasicGenerator<T> implements Generator<T&g...
2018-06-25 18:03:36 3419
原创 java 泛型3——泛型方法
在类中包含参数化方法,而这个方法所在的类可以使泛型类,也可以不是泛型类。即,是否拥有泛型方法,与其所在的类是否是泛型没有任何关系。 泛型方法使得该方法独立于类而产生变化(就是独立于类,跟是不是泛型类没有直接关系)。泛型方法的基本规则就是:无论何时,只要你能做到,你就应该尽量只使用泛型方法(就是相对于泛型类,首选泛型方法)。也就是说,如果使用泛型方法可以取代将整个类泛型化,那就应该只用...
2018-06-25 16:30:40 278
原创 java 泛型2——泛型接口
泛型也可以应用于接口,这边以生成器gennerator为例,生成器是一种专门负责创建对象的类。实际上,这就是工厂方法设计模式的一种应用。不过,当使用生成器创建新的对象时,他不需要任何参数,而工厂方法一般需要参数。也就是说,生成器无需额外信息即可创建对象。首先生成器接口定义如下:package com.zy.test;public interface Generator<T>...
2018-06-25 12:26:57 323
原创 java 泛型1——简单泛型
来自《java编程思想》的定义,泛型实现了参数化类型的概念,使代码可以应用于多种类型。“泛型”这个术语的意思是:“适用于许多许多的类型”。泛型在编程语言中出现时,其最初的目的是希望类或方法能够具备最广泛的表达能力。如何做到这一点呢,正是通过解耦类或方法与所使用的类型之间的约束。java引入泛型的一个很大用于就是java的容器类,容器就是存放对象的地方,事实上,所有的程序在运行时都要求你持有...
2018-06-25 10:15:22 163
原创 java 使用接口组织枚举——java编程思想
enum不能继承其他类,有时我们需要扩展原enum中的元素,有时我们希望使用子类将一个enum中的元素进行分组。在一个接口的内部,创建实现该接口的枚举,以此将元素进行分组,可以达到将枚举元素分类组织的目的。举例来说,假设你想用enum来表示不同类别的食物,同时还希望每个enum元素仍然保持Food类型。那么可以这样实现:package com.zy.test;import com.zy...
2018-06-21 23:19:13 3506 3
原创 JAVA 枚举enum的基本使用
枚举是java5后新增加的特性,是一种特殊的数据类型,特殊是因为枚举是一种类(class)类型,但是比class类型多了一些约束,下面就看看什么是枚举,枚举的定义和使用。 在java5以前经常使用常量类来统一定义常量如下所示。常量类大家应该都是知道的,常量类存在以下不足:因为int型的赋值范围是随意的,即blue可以为1,black也可以为1,那么在定义常量多时难免会有混淆。clas...
2018-06-21 10:30:02 177
原创 GIT 放弃本地修改
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。git reset --hard HASH #返回到某个节点,不保留修改。git reset --soft HASH #返回到某个节点。保留修改...
2018-06-19 09:53:42 5209
原创 Mybatis: Could not resolve type alias 'xxxMap'
部署的时候报错:Could not resolve type alias 'xxxMap'这是因为你的mapper.xml文件中的查询语句中的resultType没有设置错了。改成resultMap="xxxMap"即可 <select id="getSecurityGroupRuleBySGId" resultType = "xxxMap" parameterType="SecurityG...
2018-06-01 11:19:12 7419 1
《Spring Boot实战》源代码
2018-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人