泛型

简介: 泛型需求:定义一个集合存储一批字符串,然后把字符串的元素转换成大写好处:可以把运行时出现的问题,提前至编译时。避免了无畏的强制类型转换注意事项泛型中没有多态的概念左右两边的数据类型必须要一致或者只写一边的泛型推荐使...

泛型

需求:
定义一个集合存储一批字符串,然后把字符串的元素转换成大写

  • 好处:
    1. 可以把运行时出现的问题,提前至编译时。
    2. 避免了无畏的强制类型转换
  • 注意事项
    1. 泛型中没有多态的概念
    2. 左右两边的数据类型必须要一致
    3. 或者只写一边的泛型
  • 推荐使用

两边都写上同样数据类型的泛型

自定义的泛型:

可以理解为是一个数据类型的变量,或者是一个数据类型的占位符

  • 格式:
    修饰符 <声明自定义泛型> 返回值类型 函数名(形参列表)
  • 注意细节:
    1. 函数上自定义泛型的具体数据类型是在调用该函数的时候,传递实参数据的时候确定具体的数据类型的
    2. 泛型中是不能使用基本数据类型数据的,如果需要使用基本数据类型数据,那么就要使用基本数据类型对应的包装类型
      float-----> Float
      double----> Double
      char------> Character
      boolean---> Boolean
      byte------> Byte
      short-----> Short
      long------> Long```
      
    3. 自定义泛型使用的标识符可以自定义的,只要符合标识符的命名规则即可。但是一般自定义泛型使用的标识符都是单个大写字母(T E)

自定义泛型类:

  • 格式:
class 类名<T>{}
  • 泛型类要注意的事项:
    1. 类上声明的自定义泛型的具体数据类型是在使用该类创建对象的时候确定下来的
    2. 如果一个类已经声明了自定义泛型,该类在创建对象的时候没有指定自定义泛型的具体数据类型,那么则默认为Object数据类型
    3. 静态大方法不能使用类上声明的自定义泛型,如果需要使用自定义泛型就必须在自己的方法 上声明

泛型接口:

  • 定义格式:
interface 接口名 <声明自定义的泛型>{}
  • 注意的细节:
    1. 接口上自定义泛型的具体数据类型是实现该接口的时候确定的
    2. 如果一个接口已经自定义了泛型,那么在实现类的时候,没有指定自定义泛型的具体数据类型,那么默认为Object数据类型

泛型的上下限:

  • 需求1:

定义一个方法,可以接受任意类型的集合对象,接受的集合对象只能存储Integer以及Integer父类类型的数据

  • 需求2:

定义一个方法,可以接受任意类型的集合对象,接受的集合对象只能存储Number以及Number子类类型的数据

  • 泛型的通配符:?
需求1:
? super Integer (泛型的下限) 只能用于Integer或者是Integer的父类
需求2:
? extends Number (泛型的上限) 只能用于Number或者是Number的子类
相关文章
|
存储 安全 Java
泛型的使用
泛型的使用
80 0
|
8月前
|
Java 编译器 语音技术
泛型的理解
泛型的理解
39 0
|
8月前
什么是泛型,泛型的具体使用?
什么是泛型,泛型的具体使用?
42 0
|
存储 算法 编译器
泛型的讲解
泛型的讲解
63 0
|
Java
泛型讲解
本章讲解了什么是泛型以及泛型擦除相关的知识点
92 1
|
存储 C#
【C#】什么是泛型?
泛型是C#编程中一个非常重要的概念,它能够编写更加通用、灵活和可重用的代码,能够编写可以在不同类型之间工作的代码,同时还可以提高代码的效率和可维护性。在本文中,我们将探讨泛型及其在C#编程中的应用。
|
存储 Java 编译器
对泛型的认识
对泛型的认识
|
存储 Java 编译器
一文带你玩转“泛型“
一文带你玩转“泛型“
158 0
一文带你玩转“泛型“
|
安全 Java 编译器
java基础巩固-详解泛型
java泛型(generics)为jdk5引入的新特性,泛型提供了编译时类型安全检测机制,可以在编译时检测到非法的类型。 泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。
1404 0
|
Java
泛型就这么简单
前言 从今天开始进入Java基础的复习,可能一个星期会有一篇的,我写博文的未必都是正确的~如果有写错的地方请大家多多包涵并指正~ 今天要复习的是泛型,泛型在Java中也是个很重要的知识点,本文主要讲解基础的概念,并不是高深的知识,如果基础好的同学可以当复习看看~ 一、什么是泛型? Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常.
1375 0