java中的泛型学习

2020-04-01 16:06:43来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

java中的泛型学习

泛型的理解:

  1.类似于一个容器,容器是通用的,可以装任意东西,至于用来装什么,这个得使用者确定,泛型就类似于一个标签的作用,能一眼就看出,这个容器放的是什么

  2.泛型,个人认为这就相当于一种标识,规范,在java编译时候就会去检查的,如果不符合类型要求,则会编译失败

泛型的好处:

  1.实现类型安全,有了泛型,编译器就知道需要的类型是什么,可以及时验证

  2.避免了类型的转换

示例:

1.泛型类与泛型属性:

class TestGeneric<T>{

  private T t; //泛型属性

}

2.泛型方法及上限值:

  也可以写多个 : <T extends 上限1 &  上限2 & 。。。。> 如果是多个上限,那么都要满足

public <T extends Number> T get(T t) {  // T extends Number :表示只能是数值类型  ,
  return t;
}

3.泛型的通配符:?

1、<?>:代表可以是任意类型

2、<? extends 上限>:?代表是上限或上限的子类

3、<? super 下限>:?代表的是下限或下限的父类

示例: 想要声明一个方法,可以把一个Collection集合src中的所有元素,添加到另一个Collection集合dest中

public <T> void copy(Collection<T> src, Collection<? super T> dest){

//如果dest也是<T>类型,那么可能出现错误,如果传入一个Collection<Integer>,Collection<String>直接就报错了
  for (T object : src) {
    dest.add(object);
  }
}

 


原文链接:https://www.cnblogs.com/dirsoen/p/12610558.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java开发环境搭建-win10

下一篇:springboot整合dubbo+zookeeper最新详细