泛 型(java基础学习)
来源:互联网 发布:电暖气 知乎 编辑:程序博客网 时间:2024/06/14 23:07
泛型是一个参数化的实例,可传递一个或多个类型来创建实例,进行严格的类型检查。
定义:类<类型1,类型2,类型3.....> 对象名
例:List<E> mylist; E可代表多种类型,如,标准类型,类,接口,也可是子类。。。 必须是单个大写字母。
E是一个类型变量,也是被类型替换的一个变量。之后可用作参数类型,或方法的返回类型或泛型中的方法。
Public boolean add<E o> public E get(int index)
List<String> mylist=new ArrayList<String>();
在java7和以后中可写成:List<String> mylist =new ArrayList<>();
1、使用类型一:
2、泛型作为类型:
3、以键值对方式:
泛型在5.0以后必须带有参数的泛型类型,否则编译器会报错
4、使用“?”通配符
声名一个List<aType>,aType可以是以下几种实例:
A、aType 的一个实例;
B、aType的子类的一个实例,如果aType是类的话;
C、实现aType的类的一个实例,如果aType是个接口的话;
泛型本身也是个java类型,如java.lang.String 、java.io.File一样。将不同的类型变量列表传给一个泛型类型会产生不同的类型。如:
List<Object> list1=new ArrayList<>();和List<String> list1=new ArrayList<>();
尽管String是Object的一个类,但是List<String>与 List<Object>无关,因此,把List<String>传给一个需要List<Object>的方法,就会出错。解决办法是定义中使用通配符“?”。
例:
解决方法:
-----------------------------------
注意:在声名或创建一个泛型时使用通本符是不合法的,如:List<?>list=new ArrayList<?>();
如果要接收任意类型的对象List 就要使用object作为类型变量List<Object> list1=new ArrayList<>();
5、在方法中使用有界通配符
定义:通用类型<? extends 上限类型>
例:接收不同类型的的界限控制。
在此 extends设置了类型变量的上限,也可以使用Super定义变量的下限。
-------------------------------------------------
6、编写泛型类型
- java基础-泛型学习
- 泛 型(java基础学习)
- java基础学习之泛型
- java基础学习之泛型
- java学习-java基础
- 【java学习】java基础
- 【Java学习】--Java基础
- Java基础 泛型基础
- 黑马程序员-java学习基础加强之泛型
- Java SE学习笔记-基础加强之泛型
- java学习基础泛型和其他对象
- JAVA基础学习(十五)--集合二--TreeSet和泛型
- java基础学习笔记——泛型代码详解
- java基础学习之泛型 九-4
- Java基础学习之队列和泛型
- java线程学习基础
- java基础学习感悟
- Java基础学习
- Important Elasticsearch configuration 导入Elasticsearch 配置
- Android Studio插件整理
- 门外汉使用matlab成功解码RINEX格式的GPS观测数据的经历
- idea_life_4(论备份的好习惯)
- 以太坊连载(六):以太坊客户端的选择与安装
- 泛 型(java基础学习)
- 超有用的Chrome开发者工具:让你的前端水平更上一层楼
- error: package is not relocatable
- SpringMVC BindingResult例子
- JBoss7 安装配置
- 《近匠》专访 Ruff CTO 郑晔:技术老兵教你如何上手物联网应用开发
- java:继承并重写的方法
- day13
- Python设计模式-代理模式