Java笔记--泛型
1、泛型解决元素存储的安全性问题;解决获取数据元素时,需要类型强转的问题。
--泛型的核心思想:把一个集合中的内容限制为一个特定的数据类型。
2、泛型的使用
1)在集合中使用
2)自定义泛型类、泛型接口、泛型方法
3)泛型与继承的关系
4)通配符
3、若泛型类、泛型接口没有使用泛型,则默认为Object类型。
4、继承泛型类或泛型接口时,可以指明泛型的类型。
5、泛型方法的定义:
public <E> E getE(E e){
return e;
}
6、类A是类B的子类,但是List<A>不是List<B>的子接口。
7、通配符 '?' 的使用:List<A>、List<B>...都是List<?>的子接口。
--? extends A:可以存放A及其子类;
--? super A:可以存放A及其父类。
--不允许向申明为通配符的集合类中写入对象,但是可以读取。
8、泛型注意点:
1)静态方法中不能使用类的泛型;
2)如果泛型类是一个接口或抽象类,则不可创建泛型类的对象;
3)不能在catch中使用泛型
4)从泛型类派生子类,泛型类型需具体化。
Java笔记--泛型的更多相关文章
- Java笔记--泛型总结与详解
泛型简介: 在泛型没有出来之前,编写存储对象的数据结构是很不方便的.如果要针对每类型的对象写一个数据结构, 则当需要将其应用到其他对象上时,还需要重写这个数据结构.如果使用了Object类型, ...
- Java笔记——泛型擦除
1. 泛型擦除 package cn.Douzi.T_Demo; import java.util.ArrayList; /** * @Auther: Douzi * @Date: 2019/3/8 ...
- Java学习笔记——泛型
假定T不仅要指定接口的类继承.使用下面的方式: public class some<T extends Iterable<T> & Comparable<T>&g ...
- 【Java】泛型学习笔记
参考书籍 <Java核心技术:卷1> 泛型, 先睹为快 先通过一个简单的例子说明下Java中泛型的用法: 泛型的基本形式类似于模板, 通过一个类型参数T, 你可以"私人定制&qu ...
- java笔记整理
Java 笔记整理 包含内容 Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...
- java基础-泛型举例详解
泛型 泛型是JDK5.0增加的新特性,泛型的本质是参数化类型,即所操作的数据类型被指定为一个参数.这种类型参数可以在类.接口.和方法的创建中,分别被称为泛型类.泛型接口.泛型方法. 一.认识泛型 在没 ...
- Java笔记---枚举类和注解
Java笔记---枚举类和注解 一.枚举类 自定义枚举类 方式一:JDK5.0之前自定义枚举类 class Seasons { //1. 声明Seasons对象的属性 private final St ...
- Effective Java笔记一 创建和销毁对象
Effective Java笔记一 创建和销毁对象 第1条 考虑用静态工厂方法代替构造器 第2条 遇到多个构造器参数时要考虑用构建器 第3条 用私有构造器或者枚举类型强化Singleton属性 第4条 ...
- java笔记00-目录
--2013年7月26日17:49:59 学习java已久,趁最近有空,写一个总结: java笔记01-反射:
随机推荐
- JavaScript - 包装类型
1. 概念 基本类型是没有方法的 包装类型作用是为了方便操作基本数据类型 // 下面代码的问题? // s1是基本类型,基本类型是没有方法的 var s1 = 'zhangsan'; var s2 = ...
- sqlmap命令手册
http://127.0.0.1/sqli-labs-master/Less-1/?id=1 当给sqlmap上面这么一个url的时候,它会自动: 1.判断可注入的参数 2.判断可以用那种SQL注入技 ...
- nginx的preaccess 阶段的limit_req模块与limit_conn模块
limit_conn 模块限制并发连接数 [root@python vhast]# vim limit_conn.conf limit_conn_zone $binary_remote_addr zo ...
- 对象和Map转化gongju
package czc.superzig.modular.utils; import java.lang.reflect.Field; import java.util.HashMap; import ...
- Django 学习 之ORM多表操作
一.创建模型 1.模型关系整理 创建一对一的关系:OneToOne("要绑定关系的表名") 创建一对多的关系:ForeignKey("要绑定关系的表名") 创建 ...
- 网络协议-dubbo协议
Dubbo支持dubbo.rmi.hessian.http.webservice.thrift.redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的. 下面我们就针对Dubbo的每种 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:边框表格
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Oracle笔记--PL/SQL(Procedure Language & Structured Query Language)
1.PL/SQL是一种高级数据库程序设计语言,专门用于在各种环境下对Oracle数据库进行访问.该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理. 2.PL/SQL是对SQ ...
- 6专题总结-动态规划dynamic programming
专题6--动态规划 1.动态规划基础知识 什么情况下可能是动态规划?满足下面三个条件之一:1. Maximum/Minimum -- 最大最小,最长,最短:写程序一般有max/min.2. Yes/N ...
- 077、Java数组之分步实现数组操作
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...