1、自定义的泛型类
package com.atguigu.generic;
import java.util.ArrayList;
import java.util.List;
/**
* 自定义泛型类
* @author LiPiaoSshui
*/
public class Order<T> {
private int orderId;
private String orderName;
private T t;
public List<T> list = new ArrayList<T>();
public void add() {
list.add(t);
}
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
public int getOrderId() {
return orderId;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
}
public String getOrderName() {
return orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
@Override
public String toString() {
return "Order [orderId=" + orderId + ", orderName=" + orderName
+ ", t=" + t + "]";
}
}
2、实例化泛型类时未使用泛型
3、实例化泛型类时有使用泛型
4、测试自定义泛型类的代码
//3.自定义泛型类
@Test
public void test3() {
//1.当实例化泛型类的对象时,指明泛型的类型。
//指明以后,对应的类中所有使用泛型的位置,都变为实例化中指定的泛型的类型
//2.如果我们自定义了泛型类,但是在实例化时没有使用,那么默认类型是Object类的
Order<Boolean> order = new Order<Boolean>();
order.setT(true);
//输出:true
System.out.println(order.getT());
order.add();
List<Boolean> list = order.list;
//输出:[true]
System.out.println(list);
}