美文网首页
JAVA 泛型

JAVA 泛型

作者: tanghuibook | 来源:发表于2018-09-05 13:57 被阅读0次

    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的父类。这

    相关文章

      网友评论

          本文标题:JAVA 泛型

          本文链接:https://www.haomeiwen.com/subject/xzzpwftx.html