泛型:自定义泛型类

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);
}

猜你喜欢

转载自lipiaoshui2015.iteye.com/blog/2264319