泛型和通配符

 

 T 专注于重载,?专注于重写

 单纯的T 

  单纯的?配类

list<? extend String>
确保可以获得,string或者string子类的泛型对象,调用方法,但不能加入
List<? super Number>
可以确保加入Number, 但实际上还可以加入Integer,Double这些,但不能调用
list<String>, Optional<String>
相当于只重载,可以调用和加入,但少了多态能力

 

 这下面情况是不需要动用到

void method(List<?> list){
   //。。。。。。。

这个是提供了重载能力,也提供了重写能力

function<Number, String> function = String::valueOf

list1是一个list<integer>, list 2 是一个list<double>

List<String> list1 = list.stream.map(function).collect(toList)

List<String> list2 = list2.stream.map(function).collect(toList)

posted on 2019-01-22 02:22  Kooing  阅读(165)  评论(0)    收藏  举报

导航