gpt4 book ai didi

java - 如何在java中扩展有界类型

转载 作者:行者123 更新时间:2023-12-02 02:37:31 26 4
gpt4 key购买 nike

我们如何在 Java 中扩展有界泛型类型?例如,我有一个如下的抽象类:

public abstract class Entry<K, V extends EntryIterable<V>> {
private Entry<K, V> next;
private Entry<K, V> previous;
private K key;
private V value;
}

假设我有几个想要在子类中实现的方法。因此,当我尝试扩展此类时,我收到以下错误消息。

public class Record<K, V> extends Entry<K, V> {
public Record(K key, V value) {
super(key, value);
}
}

ERROR: Bound mismatch: The type V is not a valid substitute for the bounded parameter <V extends EntryIterable<V>> of the type Entry<K,V>

请帮忙。如果我犯了错误,请告诉我。

最佳答案

Entry类,你期待V输入扩展 EntryIterable<V> 。所以在 Record及其所有子类,因为它扩展了 Entry ,你一定要问V延伸EntryIterable<V>也是如此。

也就是说,这会起作用:

public class Record<K, V extends EntryIterable<V>> extends Entry<K, V> {
<小时/>

你也可以有更强的类型。我的意思是,如果你有课 EntryIterableAndRemovable延伸EntryIterable ,你可以这样做:

public class Record<K, V extends EntryIterableAndRemovable<V>> extends Entry<K, V> {

关于java - 如何在java中扩展有界类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46064527/

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