核心技术:泛型

来自Wikioe
Eijux讨论 | 贡献2020年10月22日 (四) 12:34的版本 →‎泛型方法
跳到导航 跳到搜索


为什么要使用泛型

泛型程序设计(Generic programming) 意味着编写的代码可以被很多不同类型的对象所重用。


类型参数( type parameters )。ArrayList 类有一个类型参数用来指示元素的类型:

ArrayList<String> files = new ArrayList<String>();
  • 在Java SE 7 及以后的版本中, 构造函数中可以省略泛型类型:
    ArrayList<String> files = new ArrayList<>();
    

定义简单泛型类

一个泛型类( generic class ) 就是具有一个或多个类型变量的类。

  • 换句话说,泛型类可看作普通类的工厂。

泛型方法

  • 类型变量放在修饰符(这里是public static ) 的后面,返回类型的前面。
class ArrayAlg
{
   public static <T> T getMiddle(T... a)
   {
      return a[a.length / 2];
   }
}

泛型变量的限定

泛型代码和虚拟机

约束与局限性

泛型类的继承规则

通配符类型

反射和泛型