Java 对复杂泛型类型声明的解释。什么是类<;?扩展类<;?扩展参与者>;[]>;实际上是什么意思?

Java 对复杂泛型类型声明的解释。什么是类<;?扩展类<;?扩展参与者>;[]>;实际上是什么意思?,java,class,generics,types,Java,Class,Generics,Types,假设我们有这个班 public class Actor {...} 然后我们有一个方法,它需要一个参数,它的类型是: Class是。让我们从内到外工作: ?扩展Actor表示Actor或Actor的任何子类型 Class有趣。让我们给这种类型一个较短的名称“CCA” 所以 CCA = all Class<A[]> where A <: Class<? extends Actor> CCA = all Class<Class<C>[]>

假设我们有这个班

public class Actor {...}
然后我们有一个方法,它需要一个参数,它的类型是:


Class是。让我们从内到外工作:

  • ?扩展Actor
    表示
    Actor
    Actor
    的任何子类型

  • Class有趣。让我们给这种类型一个较短的名称“CCA”

    所以

    CCA = all Class<A[]> where A <: Class<? extends Actor>
    
    CCA = all Class<Class<C>[]> and  Class<Class<? extends C>[]> where C<:Actor
    

    CCA=所有类和类都可能是错误的,但不要认为可以扩展类[],因为数组不是真正的类。你指的当然是
    java.lang.Class
    ,不是吗?
    CCA = all Class<T> where T <: Class<? extends Actor>[]
    
    T = A[] where A <: Class<? extends Actor>
    
    CCA = all Class<A[]> where A <: Class<? extends Actor>
    
    A = Class<C> or Class<? extends C> where C <: Actor
    
    CCA = all Class<Class<C>[]> and  Class<Class<? extends C>[]> where C<:Actor