gpt4 book ai didi

java - 接口(interface)和类。名称冲突 : same erasure, 但既不覆盖其他

转载 作者:IT老高 更新时间:2023-10-28 20:51:28 26 4
gpt4 key购买 nike

我有一个接口(interface),当我尝试实现它的一种方法时,我得到了这个错误:“名称冲突:GenericQueue 中的 enqueue(T#1) 和 IGenericQueue 中的 enqueue(T#2) 具有相同的删除,但两者都不会覆盖另一个,其中 T#1 ,T#2 是类型变量:T#1 扩展了在类 GenericQueue 中声明的 ComparableT#2 扩展接口(interface) IGenericQueue 中声明的 Comparable "这是代码:

public interface IGenericQueue <T extends Comparable> {
public void enqueue(T j);
..
}

public class GenericQueue<T extends Comparable> implements IGenericQueue {
....

public void enqueue(T j) // the error is in this line.
{
if(rear == maxSize -1)
rear = -1; // means you have reached the last element start again ?

queArray[++rear] = j;
nItems ++ ;
}
}

最佳答案

您的GenericQueue正在实现 raw 接口(interface) IGenericQueue , 所以它的 T不同于 TIGenericQueue .添加 <T>implements子句:

public class GenericQueue<T extends Comparable> implements IGenericQueue<T> {
// ^^^

所以您正在使用相同的 T 实现通用接口(interface).

关于java - 接口(interface)和类。名称冲突 : same erasure, 但既不覆盖其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15442508/

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