泛型
来源:互联网 发布:搞笑淘宝网店名字大全 编辑:程序博客网 时间:2024/05/22 16:48
泛型方法的格式:
[访问权限] <泛型> 返回类型 方法名([泛型标识 参数名称]) 抛出的异常
泛型方法的格式:
[访问权限] <泛型> 返回类型 方法名([泛型标识 参数名称]) 抛出的异常
如果B是A的一个子类型(子类或者子接口),而G是具有泛型声明的类或接口,G<B>
并不是G<A>
的子类型!
List<A>
、List<B>
、。。。。都是List<?>
的子类
可以读取声明为通配符的集合类的对象,不允许向声明为通配符的集合类中写入对象。唯一例外的是null
当实例化泛型类的对象时,指明泛型的类型。指明以后,对应的类中所有使用泛型的位置,
都变为实例化中指定的泛型的类型,如果我们自定义了泛型类,但是在实例化时没有使用,那么默认类型是Object类的
例:
import java.util.ArrayList;import java.util.List;//自定义泛型类public class Order<T> { private String orderName; private int orderId; private T t; List<T> list = new ArrayList<>(); public void add(){ list.add(t); } public T getT(){ return t; } public void setT(T t){ this.t = t; }
不可以在static方法中使用泛型的声明
//public static void show(){// System.out.println(t);// }// public void info(){ //不可以在try-catch中使用类的泛型的声明// try{// // }catch(T e){// // } } //声明泛型方法 public static <E> E getE(E e){ return e; } //实现数组到集合的复制 public <E> List<E> fromArrayToList(E[] e,List<E> list){ for(E e1 : e){ list.add(e1); } return list; } public String getOrderName() { return orderName; } public void setOrderName(String orderName) { this.orderName = orderName; } public int getOrderId() { return orderId; } public void setOrderId(int orderId) { this.orderId = orderId; } @Override public String toString() { return "Order [orderName=" + orderName + ", orderId=" + orderId + ", t=" + t + "]"; }}//继承泛型类或泛型接口时,可以指明泛型的类型class SubOrder extends Order<Integer>{}
0 0
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 七月算法--算法基础班01摘要
- 【中文翻译】Node.js v4.2.3官方文档(1) - 关于
- Java的进制转换
- andriod中的布局文件之Imageview scaleType
- Android UI模板设计--自定义actionbar(topbar)模板(慕课网学习笔记)
- 泛型
- Linux下使用ant部署MyEclipse Web工程
- C#_属性的封装(get和set)
- 查询表中第10条到第30条数据
- openfire简介
- myeclipse8.5注册码(20151212)
- 笔记本电脑如何将屏幕投影到电视上
- Single number Ⅲ
- 决策树分类算法