java - Java 类型参数不在类型变量的范围内
问题描述
我正在尝试创建一个与通用 BST 类有关系的类,它通过读取逗号分隔的文件来构造树。
这是我的代码:
public class PatientSearchTree<ItemType extends Comparable<ItemType>>
{
BinarySearchTree<ItemType> patients;
public PatientSearchTree(String fileName) throws IOException
{
BinarySearchTree<String> lines = new BinarySearchTree<String>();
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(fileName));
patients = new BinarySearchTree<Patient>();
String line = null;
while ((line = reader.readLine()) != null)
{
line = reader.readLine();
String[] params = line.split(",");
Patient tempPatient = new Patient(params[0],params[1],params[2],params[3],params[4],params[5],params[6],params[7],params[8],params[9]);
patients.add(tempPatient);
}
} finally {
reader.close();
}
}
我的错误:
PatientSearchTree.java:21: error: type argument
PatientSearchTree.Patient is not within bounds of type-variable ItemType
patients = new BinarySearchTree<Patient>();
^
where ItemType is a type-variable:
ItemType extends Comparable<ItemType> declared in class BinarySearchTree
解决方案
该类Patient
不实现接口Comparable<Patient>
。
推荐阅读
- javascript - Unable to publish global array variable
- c++ - Globally declared char array is ambiguous when passed on to the function
- php - 使用子控制器的替代路由方法的缺点是什么?
- mysql - 我的 Confluence 服务器在重启后无法启动 - “无法确定您的数据库存储引擎”
- html - 在悬停表格单元格上,根据悬停单元格的行高突出显示所有相应的单元格/行
- laravel - 在 laravel 中实现 reCaptcha V3 的问题
- homebrew - 原始 brew update 错误需要运行 git fetch --unshallow,但又遇到了 git fatal
- laravel - 拉拉维尔 | 重定向不会更改 URL
- apache-spark - 在 Pyspark / AWS Glue 中打开 Parquet 文件时重命名列会使所有数据为空
- c# - 在统一构建游戏后,我的游戏无法运行,但它在统一编辑器上运行