JAVA 泛型

1.泛型类

public class Test<T>{

         public T t;

         public T  test(){

            return (T) " ";

        }

}

2. 泛型方法

public class Test{

        public <T> T test(T t){

               List<Object> list=new ArrayList<>(); 

                     list.add(t);

                return (T)list;;  

         }

}

3. 泛型 实例方法带参数和不带参数 ,静态方法带参数和不带参数

public class Test{

        public T t;

         public T  test(){

                return (T) " ";

         }

        public static<T> void build (){

        }


public static<T> void build (T t){

        }

         public T test(T t){

               List list=new ArrayList<>(); 

                    list.add(t);

                return (T)list;;

           }

}

总结:    <T> 声明类型参数,当声明类型参数的时候才可以使用类型参数。

            泛型方法中,会采用自己所声明的类型参数,不会被泛型类的类型参数所干扰。

通配符:

     ?  不确定类型,和T 不同的是,T 在第一次传入类型的时候就将类型确认下来了,该类或者该方法的返回值的类型就确认为T了。而通配符?没 有将类型确定下来,每次无论传什么类型都可以。在拿取真实类型的时候,使用的是通配符?时候需要进行强转拿取,而T 不需要。

   ?extends  T    上界通配符 指定该类型的上限范围   传入的元素类型为T 或者为T的子类。这个时候就将这个类型的父类型确定了下来,那么这个类型的对象肯定会继承得到父类中可继承的方法和属性。

   ?super T       下界通配符 指定该类型的下限范围  传入的元素类型为T 或者为T的父类。这

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 开发人员在使用泛型的时候,很容易根据自己的直觉而犯一些错误。比如一个方法如果接收List作为形式参数,那么如果尝试...
    时待吾阅读 4,669评论 0 3
  • 一、泛型简介1.引入泛型的目的 了解引入泛型的动机,就先从语法糖开始了解。 语法糖 语法糖(Syntactic S...
    Android进阶与总结阅读 4,583评论 0 9
  • 泛型的好处 使用泛型的好处我觉得有两点:1:类型安全 2:减少类型强转 下面通过一个例子说明: 假设有一个Tes...
    德彪阅读 4,796评论 0 0
  • 赶在2018的新年初一,和tuntun坐着晚班飞机来到陌生的国度开始我们的短途旅行。 第一次出国,虽然是在东南亚国...
    活捉一只艺术家阅读 3,196评论 0 0
  • 一个哥哥说过,如果你有麻烦,与不知道如何处理,最好问问自己 如果我是建议者,我会说什么呢? 深知你的愿望,如同沥川...
    dog_敏阅读 2,490评论 0 0