泛型总结

来源:互联网 发布:淘宝水果店铺装修 编辑:程序博客网 时间:2024/06/07 00:56

1、泛型:就是允许在定义类和接口时指定类型参数,这个类型形参将在生命变量、创建对象时确定。

2、从泛型派生子类:被派生的父类和接口不能再包含类型形参,必须指明父类的泛型类型或者不指定默认为object类型。

3、静态修饰地方不允许使用泛型形参。

4、泛型定义接口和类:

public class Apple<T>

{

    //使用T类型形参定义属性

 private T info;

public Apple(){};

public Apple(T info)

{ this.info = info;}

public void setInfo(T info) ...

public T getInfo()...

public static void main(String[] args)

{

  Apple<String> a = Apple<String>("苹果");

  Apple<Double> b=Apple<Double>("2.12");

}

}

5、类型通配符:

public void test(list<?> c)

{

  for(int i=0;i<c.size();i++)

     {system.out.println(c.get(i));}

}   但是不可以进行把元素加入到其中,因为不知道程序中c集合里元素类型,不能把元素添加到其中。

6、泛型方法:

  static <T> void fromArrayToCoollection(T[] a,Collection<T> c)

{

  for(T o:a){c.add(o);}

}

7、擦除:当把一个泛型赋值给一个没有泛型的变量;尖括号里泛型信息丢失。

8、通配符和形参泛型方法用法区别:如果一个方法中的一个形参的类型或者返回值类型依赖于另外一个形参的类型,则形参b的类型声明不应该使用通配符。

9、泛型通配符的上限<? extends T>和泛型通配符下限<? super T>

 

      

 

原创粉丝点击