文章内容仅代表个人理解,如有错误欢迎到评论区指点,文章内容仅供参考——
本篇对java中的"泛型"进行详细的讲解
本期会分成一下八部分进行讲解:
一、泛型类
二、泛型方法
三、泛型接口
四、通配符
五、泛型限制
六、泛型与集合
七、泛型的类型擦除机制
八、泛型的局限性
目录
Java 泛型是一个强大的特性,允许你编写更加通用和可重用的代码。泛型主要用于定义可以操作不同类型的类、接口和方法。
一、泛型类
1、定义泛型类
2、使用泛型类
我们可以任意使用Box 的泛型来设置想要的类型
二、泛型方法
1、定义泛型方法
2、使用泛型方法
我们定义Integer[] 和String[]两个类型的数组并调用方法打印一下
三、泛型接口
1、定义泛型接口
2、定义类OrderedPair实现接口
3、使用泛型接口:
四、通配符
通配符用于处理不确定类型的泛型
1、“?”表示未知类型,通常用于方法参数中。
2、“? extends T”表示一个类型是 T
或其子类型。
3、“? super T”表示一个类型是 T
或其父类型。
五、泛型限制
你可以对泛型参数添加限制,比如使其继承自特定的类或实现特定的接口:
1、定义ComparableBox类
2、实现该类的compareTo
该方法用于比较当前对象与指定对象的顺序。如果当前对象小于指定对象,返回负数;如果当前对象等于指定对象,返回零;如果当前对象大于指定对象,返回正数。
六、泛型与集合
泛型在集合框架中使用非常广泛,如 List<T>
、Map<K, V>
等:
七、泛型的类型擦除机制
Java 泛型使用类型擦除机制。编译时,泛型参数会被替换为其上界(如果没有指定上界则为 Object
)。这意味着泛型类型的实际类型信息在运行时不可用。(即运行后不存在泛型)
八、泛型的局限性
- 泛型不能用于创建实例:
new T()
是不允许的。 - 泛型不能用于静态上下文:
static T member
是不允许的。 - 泛型数组创建问题:
new T[10]
是不允许的。
好啦看到这里想必您对Java有了新的认知和了解,如果对您有帮助的话请帮我点个一件三连!谢谢!谢谢!谢谢!
我只是个初学者——