首页 > 编程语言 >JAVA泛型

JAVA泛型

时间:2022-09-05 19:48:34浏览次数:58  
标签:JAVA -- 通配符 类型 参数 泛型 声明

泛型概念


泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。

泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。


java 中泛型标记符


  • E - Element (在集合中使用,因为集合中存放的是元素)
  • T - Type(Java 类)
  • K - Key(键)
  • V - Value(值)
  • N - Number(数值类型)
  • - 表示不确定的 java 类型

泛型使用类型


  • 泛型方法

-- 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前

-- 每一个类型参数【类型变量】声明部分包含一个或多个类型参数,参数间用逗号隔开。如Map<K, V>一

-- 类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。

-- 泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型不能是原始类型(像 int、double、char 等)

  • 泛型类

泛型类的声明:在类名后面添加了类型参数声明部分(尖括号)。


类型通配符


类型通配符一般是使用 ? 代替具体的类型参数

类型通配符上下界

  • 表示该通配符所代表的类型是T类型的子类。
  • 表示该通配符所代表的类型是T类型的父类。

上下界的使用场景

一般在存储元素的时候都是用上界,因为这样取出都是按照上界类型来运算的。不会出现类型的安全隐患。

通常对集合中的元素进行取出操作时,可以是用下界。

参考https://blog.csdn.net/Happy_cloudlife/article/details/77529429

标签:JAVA,--,通配符,类型,参数,泛型,声明
From: https://www.cnblogs.com/acelin/p/16659295.html

相关文章

  • 36 | JAVA_IO_File对象
    File对象Java的标准库java.io提供了File对象来操作文件和目录。要构造一个File对象,需要传入文件路径:importjava.io.*;publicclassMain{publicstaticvoidma......
  • 37 | JAVA_IO_InputStream
    InputStreamInputStream就是Java标准库提供的最基本的输入流。它位于java.io这个包里。java.io包提供了所有同步IO的功能。要特别注意的一点是,InputStream并不是一个接......
  • 38 | JAVA_IO_OutputStream
    OutputStream和InputStream相反,OutputStream是Java标准库提供的最基本的输出流。和InputStream类似,OutputStream也是抽象类,它是所有输出流的超类。这个抽象类定义的一个......
  • 39 | JAVA_IO_Filter模式(Decorator模式)-cnblog
    Filter模式(Decorator模式)为了解决依赖继承会导致子类数量失控的问题,JDK首先将InputStream分为两大类:一类是直接提供数据的基础InputStream,例如:FileInputStreamByteA......
  • 【Java基础】package、import关键字和JDK中主要包
    1.package声明在源文件首行,每一个.表示一层文件夹,指明该类所在包,包名通常都小写。根据项目需要将代码放在不同包中2.import(1)导入指定包下所需要的类、接口,xxx.*表示......
  • Java 使用技巧-如何抛出一个异常并捕获它
    工作中需要使用Java编写插件,但并不是主要技术栈,所以简单地学习记录一下。背景与Javascript不同,Java中类型的概念非常强,函数中不能返回与声明不同类型的返回值。例如下面......
  • 【Java基础】关键字this
    1.this是什么this是一个对象,表示当前对象或当前正在创建的对象2.使用在类的方法中,使用this.属性或this.方法调用当前对象属性或方法,但一般都省略。方法的形式参数和类......
  • 【Java基础】JavaBean是什么
    1.JavaBean是什么符合如下标准的Java类类是公共的public有一个无参的公共的构造器有属性,且有对应的get、set方法2.示例publicclassJavaBean{privateStrin......
  • 【Java基础】类的结构之三:构造器(构造方法)
    1.构造器是什么也称为构造方法、构造函数。(1)方法名与类名相同(2)没有返回值类型(3)不能被static、final、synchronized、abstract、native修饰publicclassCircle{......
  • JavaDoc
    JavaDocjavadoc命令是用来生成自己API文档的参数信息:@author作者名@version版本号@since指明需要最早使用的jdk版本@param参数名@return返回值情况......