gpt4 book ai didi

Java 泛型问题 : Class "not within bounds of type-variable" error.

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:33 25 4
gpt4 key购买 nike

我正在从事一个涉及泛型的类(class)项目。

public interface Keyable <T> {public String getKey();}

public interface DataElement extends Comparable<Keyable<DataElement>>, Keyable<DataElement>, Serializable {...}
public class Course implements DataElement {...}


public interface SearchTree<K extends Comparable<Keyable<K>> & Keyable<K>> extends Serializable {...}
public class MySearchTree implements SearchTree<Course> {
...
private class Node {
public Course data;
public Node left;
public Node right;
...
}
}

当尝试在 MySearchTree 的声明中使用 Course 类时,我收到一个类型参数错误,指出“Course 不在类型变量 K 的范围内”。我花了很多时间试图找出 Course 可能缺少哪些属性使其不符合要求,但一无所获。

有什么想法吗?

最佳答案

MySearchTree K基本类型的是 Course .所以K必须“延长”Comparable<Keyable<Course>> & Keyable<Course> .但它没有,它扩展了 Comparable<Keyable<DataElement>> & Keyable<DataElement> .

我猜 DataElement 应该以类似于 Comparable 的方式进行泛化。 Enum

public interface Keyable <T> {public String getKey();}

public interface DataElement<THIS extends DataElement<THIS>> extends Comparable<Keyable<THIS>>, Keyable<THIS>, Serializable {...}
public class Course implements DataElement<Course> {...}


public interface SearchTree<K extends Comparable<Keyable<K>> & Keyable<K>> extends Serializable {...}
public class MySearchTree implements SearchTree<Course> {

关于Java 泛型问题 : Class "not within bounds of type-variable" error.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9968687/

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