美文网首页
java generics (recursive generic

java generics (recursive generic

作者: 巷及清晨 | 来源:发表于2020-03-03 09:44 被阅读0次

1、在调试es代码时,发现有这样一种泛型的用法:

public abstract class AbstractQueryBuilder<QB extends AbstractQueryBuilder<QB>>

如上所示,QB extends AbstractQueryBuilder<QB>,这里的泛型QB使用了extends是什么意思?

2、这是一种泛型递归的用法,

首先,定义StatusCode类(实现Comparable接口,调用compare()进行测试)

public class StatusCode<T extends StatusCode<T>> implements Comparable<T>

再定义SubStatusCode类

public class SubStatusCode extends StatusCode<SubStatusCode>

测试:

SubStatusCode subStatusCode = new SubStatusCode();

Object o = new Object();

subStatusCode.compareTo(o); //The method compareTo(SubStatusCode) in the type Comparable<SubStatusCode> is not applicable for the arguments (Object)

如上述报错信息提示,通过T extends StatusCode<T>,限定了T必须是StatusCode的子类,起到类型约束的作用。

相关文章

  • java generics (recursive generic

    1、在调试es代码时,发现有这样一种泛型的用法: public abstract class AbstractQu...

  • 泛型

    1. 泛型概述 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,...

  • Java 泛型

    泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按...

  • java泛型

    什么是泛型? 泛型(Generic type 或者 generics)是对Java语言的类型系统的一种扩展,以支持...

  • java 泛型

    什么是泛型? 泛型(Generic type 或者 generics)是对Java语言的类型系统的一种扩展,以支持...

  • java泛值的重要性

    什么是泛型? 泛型(Generic type 或者 generics)是对Java语言的类型系统的一种扩展,以支持...

  • Effective Java 3rd-----Chapter 5

    Chapter 5 Generics 范型 SINCE Java 5, generics have been a ...

  • 泛型

    Java 泛型(generics) Java 泛型(generics)是 JDK 5 中引入的一个新特性, 就是为...

  • 泛型

    https://www.runoob.com/java/java-generics.html

  • 21、Django_rest framework_Concret

    在上一章优化了的基础上,再次优化 一、generics/Concrete Generic Views 从该文件的类...

网友评论

      本文标题:java generics (recursive generic

      本文链接:https://www.haomeiwen.com/subject/ecwflhtx.html