zoukankan      html  css  js  c++  java
  • java面试-泛型

    1、什么是泛型?泛型有什么作用?

      泛型就是参数化类型,也就是所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
      在泛型出现之前,集合中添加对象只能是object类型的,在取出使用时,必须进行强制类型转换,容易引发ClassCastException。泛型提供了编译器的类型安全,确保你只能把正确类型的对象放入集合中。

    2、java的泛型是如何工作的?什么是类型擦除?

      泛型是通过类型擦除来实现的,编译器在编译时擦除了所有类型相关的信息,所以在运行时不存在任何类型相关的信息。例如List在运行时仅用一个List来表示。这样做的目的是确保能和java5之前的版本开发二进制类库进行兼容。你无法在运行时访问到类型参数,因为编译器已经把泛型类型转换成了原始类型。

    3、什么是泛型中的限定通配符和非限定通配符?

      限定通配符是对类型进行了限制。有两种限定通配符,一种是<? extends T>,它通过确保类型必须是T的子类来限定类型的上限。另一种是<? super T>,它通过确保类型必须是T的父类来限定类型的下限。泛型类型必须用限定内的类型来进行初始化,否则会导致编译错误。
      非限定通配符用<?>来表示,泛型类型可以用任何类型来进行初始化。

  • 相关阅读:
    rac11.2.0.4私网公网修改
    OGG应用复制进程报错OGG 01161
    顺序容器vector拷贝使用总结
    C++迭代器(STL迭代器)
    C++容器(STL容器)
    win10桌面和手机的扩展API,判断是否有实体后退键API
    python Django 之 Model ORM inspectdb(数据库表反向生成)
    flask框架-大结局
    flask框架-下
    flask框架-中
  • 原文地址:https://www.cnblogs.com/ssl-bl/p/11032472.html
Copyright © 2011-2022 走看看