Java泛型试验


public class Generic {

public static void main(String[] args) {

List<Person> persons = new ArrayList<Person>();

// 1 泛型类型的方法可操作其定义的类型的对象或子对象
persons.add(new Person());
persons.add(new Man());

// 2 G<Man>并不是G<Person>的子类型
// List<Person> persons = new ArrayList<Man>(); X

// 3 通配符?代表未知类型
List<?> list = new ArrayList<Person>();
// 3.1 <?> != <Object>
// List<Object> objs = new ArrayList<Person>(); X
// 3.2 List<?>无法调用add方法添加对象,除了添加null,null是所有类型的子类型
// list.add(new Person()); X
list.add(null);

// 4 有界通配符
List<? extends Person> men = new ArrayList<Man>();
// 4.1 仍然无法使用add方法,除了null
// men.add(new Person()); X
// men.add(new Man()); X
men.add(null);

List<? super Man> men1 = new ArrayList<Person>();
List<? super Man> men2 = new ArrayList<Man>();
men1.add(new Man());

men1.add(new Man());
// men1.add(new Person()); X

men2.add(new Man());

}

}

class Person {

}

class Man extends Person {

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值