本文全文参考 https://www.bilibili.com/video
自定义泛型结构:泛型类、泛型接口、泛型方法
自定义泛型类
@Getter
@Setter
@ToString
public class Order<T> {
String orderName;
int orderId;
T orderT;
public Order() {
}
public Order(String orderName, int orderId, T orderT) {
this.orderName = orderName;
this.orderId = orderId;
this.orderT = orderT;
}
}
@Test
public void test01(){
Order<Integer> order = new Order<>();
order.setOrderId(11);
order.setOrderName("张三");
order.setOrderT(1);
System.out.println(order);
}
自定义泛型方法
public <E> List<E> copyArray(E[] arr){
ArrayList<E> list = new ArrayList<>();
Iterator<E> iterator = list.iterator();
while (iterator.hasNext()){
E next = iterator.next();
list.add(next);
}
return list;
}
通配符的使用
@Test
public void test02(){
List<Object> list1 = null;
List<String> list2 = null;
List<?> list = null;
//list1 = list2; // 错误
list = list1;
list = list2;
}