java如何声明和使用泛型(2分钟快速搞懂Java)

java如何声明和使用泛型(2分钟快速搞懂Java)(1)

通配符 T,E,K,V

Java 泛型中的通配符 T , E , K , V , ? 是什么?经常有同学会分不清楚。

本文我们一起来了解下。

送:《泛型最全知识导图》、《大厂泛型面试真题26道》,到本篇结尾处获得~

1 什么是泛型
  • 泛型是 JDK5 的一个新特性,是把类型明确的工作,推迟到创建对象、或调用方法时才去明确的特殊的类型;
  • 泛型的本质是参数化类型,提供了编译时类型安全监测机制,该机制允许我们在编译时检查类型安全,且所有的强制转换都是自动和隐式的,只要编译时不出现问题,运行时就不会出现ClassCastException(类型转换异常),可以极大地提高代码的可读性、复用性及安全性
  • 泛型可以用在类、接口和方法的创建中,被称为泛型类、泛型接口、泛型方法。

关于泛型的介绍,点击蓝字回顾:Java泛型基础最全详解,超级详细 ,这里就不再赘述了。

2 T , E , K , V , ?是什么

我们在定义泛型类,泛型方法,泛型接口的时候,经常会看见很多不同的通配符,比较常见的有: T,E,K,V , ? 。

实际上,这些通配符之间没有区别,只是一个约定俗成的字母标识,我们可以使用任意字母(大写)来定义.

例如:

将 T 换成 C

将 E 换成 D

将C换成 A , B , D,E,F,G,H

......等

这不会影响程序运行,只是可读性差一些而已。

通常情况下, T,E,K,V , ? 的类型表示如下:

java如何声明和使用泛型(2分钟快速搞懂Java)(2)

代码示例:

public class NiuA<T> { public List<T> list = new ArrayList<T>(); public static void main(String[] args) { NiuA<String> na = new NiuA<String>(); na.list.add("hello"); System.out.println(na.list); } } public class NiuB<N> { public List<N> list = new ArrayList<N>(); | public static void main(String[] args) { NiuB<String> nb = new NiuB<String>(); nb.list.add("hello"); System.out.println(nb.list); } }

将 T 换成了N,在执行效果上没有任何区别。

总结

以上,是 对Java 泛型中的通配符 T,E,K,V,?的详解。建议大家按照约定俗成的规范编码,以增加代码的可读性

我是大全哥,持续更新成体系的 Java 核心技术。知识成体系学习才高效

如果觉得有帮助,请顺手 点赞 支持下,谢谢。

我们下期见~

附泛型学习资料:

1 《泛型知识全景导图》

快速构建泛型知识体系,高清版本原图,几乎囊括了所有泛型核心知识点。

java如何声明和使用泛型(2分钟快速搞懂Java)(3)

泛型知识全景导图

2 《大厂泛型面试真题26道》

精选大厂高频泛型面试题,都是我最新整理的,备面、复习时都可以查看。

java如何声明和使用泛型(2分钟快速搞懂Java)(4)

大厂泛型面试题26道

java如何声明和使用泛型(2分钟快速搞懂Java)(5)

--- end ---

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页