前言:
学过Java语言的人,大多数都知道java的类型, 基本上分为两大类,基本类型与引用类型,基本类型(8种)有byte、short、int、char、long、float、double、boolean, 引用类型就是Class, interface,enum, 数组[],注解@interface等。 当然,这篇文章不仅仅讲的是这些,据我了解的类型, 一般分为JDK1.5之前,JDK1.5之后的,为什么呢?因为JDK1.5的时候,引入了一个重要的特性,那就是泛型T, 看过源码的人都知道, 在集合中引入了大量的泛型。
这里不说那些泛型的好处了,只是说一下,为了引入泛型而改变的Java类型。
Java类型:
java类型的父接口是Type,就像我们经常说的所有对象的父类Object一样.
java语言中所有类型都是Type接口的子类或这子接口。
Type的子孙
java的所有类型:
- raw type:原始类型,对应Class
- parameterized types:参数化类型,对应ParameterizedType
- array types:泛型数组类型,对应GenericArrayType
- type variables:类型变量,泛型,对应TypeVariable
- primitive types:基本类型,仍然对应Class
- 这里的基本类型是primitive types就是 基本的8中类型。
- raw type, 原始类型就是上面说的引用类型, 包括数组, 类, 接口, 注解, enum枚举, 包装类wrapped typed等。
- array types中的数组类型GenericArrayType,应该指的是参数化类型、类型变量的类型数组,而不是一般我们说的数组,我们一般所说的数组是指raw type、primitive types类型数组,他们还是raw type,也就是Class类型。
参考: 1. Type Java类型
PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!