美文网首页
泛型的使用

泛型的使用

作者: 小_小_程序猿 | 来源:发表于2018-01-13 15:11 被阅读0次

 泛型的运用:

  需求:

           定义一个方法,可以接受任意数据类型,而且要求返回的数据类型,就是你传入的数据类型

  例如:

           传入String,返回String

            传入Demo3类型,返回Demo3类型

  泛型:

           占位符!!!<一个大写字母>,只是一个占位符,没有实际含义,而且不同地方定义的占位符没有联系

  泛型在函数中使用的格式

  修饰符 <声明的自定义泛型占位符> 返回值类型(可以使用自定泛型) 函数名(形式参数列表"也可以使用泛型") {

  函数体

  在函数体中,所有用到自定义泛型的地方,都可以被替换

  }

  包装类

  Java是完全面向对象的语言,在Java中万物皆对象,如果是要保存类对象,那么8大基本数据类型就无法使用所以,Java提供了一个包装机制,包装基本数据类型,让他们变成类对象,

  自动封箱

  Integer -> int

  Byte -> byte

  Long -> long

  Short -> short

  Double -> double

  Float -> float

  Boolean -> boolean

  Character -> char

  如果使用包装类直接赋值给普通的基本数据类型,这个操作称之为 拆箱

在类内使用泛型

格式:

class 类名<自定义泛型的占位符> {

//在这里所用到的泛型和用户创建对象时声明的一致

}

注意事项:

1. 一个类声明的自定义泛型,如果在创建该类对象时,确定了泛型的具体数据类型,那么

在整个类内所有用到该泛型占位符的非静态成员方法,使用的数据类型都是创建时确定的类型

2. 如果创建使用了自定义泛型类对象,但是没有确定泛型的具体类型,那么编译器会把这个

泛型认为是Object类型

3. 类中声明的自定义泛型,不能对类内的静态方法使用,如果想让静态方法使用泛型, 自娱自乐

自己声明,自己使用,类似方法中使用泛型

4. 建议:如果在代码中出现了多个使用不同泛型的地方,请使用不同的名字 T E

在接口中定义泛型

格式 :

interface 接口名<自定义泛型的占位符> {

//成员变量  缺省属性:public static final 定义时必须初始化

//成员方法  缺省属性:abstract

}

两种【遵从】带有自定义泛型的接口方式:

1. 更加自由,需要使用的泛型类型,在创建对象时确定,类似ArrayList

2. 适合原本这个类就没有使用泛型的情况,例如:一个类遵从Comparable接口

事项compareTo方法,这里可以在【遵从】时,确定Comparable需要的泛型

具体数据类型,减少没有必要的强制类型转换

 泛型的上下限

T 泛型的占位符

? 通配符

super: 调用父类方法的关键字

extends: 继承的关键字

需求:定义一个函数接受任意类型数值的集合,但是这个数据必须是数值类型

数值类型:Number 已知子类:Integer Short Long Double Float (包装类)

要求传入的对象是Number类对象或者其子类对象

Integer extends Number;

Float extends Number;

Double extends Number;

? extends Number;

这就是泛型的上限:

需求:定义一个函数能够传入一个任意类型的集合,但是要求集合里面保存的数据必须是Number类对象,或者其父类对象

泛型的下限

能够保存的数据是Number类对象本身或者其父类对象

相关文章

  • Java-API-集合框架(三)-泛型

    泛型的由来和基本使用 泛型的擦除 泛型类的使用 泛型方法的使用 泛型接口 泛型通配符(?) 通配符? 在api中的...

  • 夯实JAVA基础之 - 泛型

    泛型的定义及使用 1. 定义泛型: 2. 类中使用泛型 3. 使用泛型类 4. 使用泛型的优势? 多泛型变量的定义...

  • Java泛型

    本文介绍的知识点 泛型是什么? 泛型的使用在反射中使用泛型在集合类中使用泛型 关于泛型擦除如何理解?如何避免泛型擦...

  • java基础-day13-泛型

    泛型 1. 泛型 1.1 为什么要使用泛型 1.2 泛型的基本格式 1.3 泛型在方法中使用 1.3 泛型在类内的...

  • 四 集合 ——第二节 泛型

    文章目录 1、 泛型概念2、 使用泛型的好处3、 泛型的定义与使用 3、1 定义和使用含有泛型的类3、2 含有泛型...

  • Java 泛型

    一、泛型使用 1、泛型类 2、泛型函数 二、泛型限定符 1、泛型上限 泛型上限使用 extends 限制 多个限制...

  • Objective-C 泛型 协变 逆变

    为什么要使用泛型 如何使用泛型 限制泛型 协变 逆变 为什么要使用泛型 在使用NSArray, NSSet, NS...

  • 泛型基础二

    如果不明白为什么要使用泛型,使用泛型的好处,以及泛型类,泛型接口,泛型方法等知识,请移步泛型基础一 通配符 上界通...

  • 第 29 条:优先考虑泛型

    未使用泛型 使用泛型第一种 使用泛型第二种

  • Kotlin 泛型

    Kotlin 泛型 1. 泛型类 定义一个泛型类 使用 在继承中 使用 2. 泛型函数 使用 3. 泛型的擦除 无...

网友评论

      本文标题:泛型的使用

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