gpt4 book ai didi

java - 如何在 Java 内部类中定义绑定(bind)类型参数

转载 作者:行者123 更新时间:2023-11-29 03:27:09 25 4
gpt4 key购买 nike

public class TowerOfHanoi<E> {
private class Disk<T extends Comparable<E>> {
}

private class Peg<S extends Disk<T extends Comparable<E>>> extends Stack<Disk<T extends Comparable<E>>> {
}
}

使用上面的代码,我得到以下编译错误。

Syntax error on token "extends", , expected

但是,如果我按如下方式更改 Peg 的定义,它会起作用:

private class Peg<T extends Disk<? extends Comparable<E>>> extends Stack<Disk<? extends Comparable<E>>> {
}

我不想使用通配符。有没有办法将其更改为命名参数?

最佳答案

你不能那样使用泛型。只需将类型(而非绑定(bind))传递给扩展类型即可。

编译:

public class TowerOfHanoi<E> {
private class Disk<T extends Comparable<E>> {
}

private class Peg<T extends Disk<Comparable<E>>> extends Stack<Disk<Comparable<E>>> {
}
}

关于java - 如何在 Java 内部类中定义绑定(bind)类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20448800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com