Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用有界类型化参数扩展泛型类_Java_Generics_Collections_Types - Fatal编程技术网

Java 如何使用有界类型化参数扩展泛型类

Java 如何使用有界类型化参数扩展泛型类,java,generics,collections,types,Java,Generics,Collections,Types,我试图用另一个带有类型化参数的泛型类来扩展一个带有有界类型化参数的泛型类,该泛型类的类型化参数位于超级泛型的类型化参数之后 具有上界类型参数的超泛型 我的动物类及其子类Lion、Rat等在Animal.java中定义 public class Animal { public String toString() { return getClass().getSimpleName(); } } class Rat extends Animal {} clas

我试图用另一个带有类型化参数的泛型类来扩展一个带有有界类型化参数的泛型类,该泛型类的类型化参数位于超级泛型的类型化参数之后

具有上界类型参数的超泛型

我的动物类及其子类Lion、Rat等在Animal.java中定义

public class Animal {
    public String toString() {
        return getClass().getSimpleName();
    }   

}

class Rat extends Animal {}
class Lion extends Animal {}
由于我得到了错误,我猜测我所遵循的方法可能不正确。在这种情况下,是否有任何标准的方式在Java泛型中实现此场景

您的LionCage类不必是泛型的,但它必须在extends子句中传递一个具体的类型参数Lion:

您的LionCage类不必是泛型的,但它必须在extends子句中传递一个具体的类型参数Lion:

public class LionCage<Lion extends Animal> extends Cage<T extends Animal> {
    @Override
    public void add(Lion l) {
        cage.add(l);

    }
}
public class Animal {
    public String toString() {
        return getClass().getSimpleName();
    }   

}

class Rat extends Animal {}
class Lion extends Animal {}
public class LionCage extends Cage<Lion> {
    @Override
    public void add(Lion l) {
        cage.add(l);

    }
}