gpt4 book ai didi

java - 类必须声明为抽象的或实现抽象方法 toArray

转载 作者:搜寻专家 更新时间:2023-11-01 03:32:57 26 4
gpt4 key购买 nike

我有一个 Foo 类,它扩展了 AbstractList 并实现了 List。此类实现了一些 List 方法,但有些只是抛出 UnsupportedOperationException

toArray 是后者之一,虽然编译器没有提示其他未真正实现的方法,但它提示 toArray 有错误:

类必须声明为抽象类或在列表中实现抽象方法 toArray(T[])

public class Foo extends AbstractList implementst List  {
...
public <T> T[] toArray(T[] a) throws UnsupportedOperationException {
throw new UnsupportedOperationException(error);
}
}

这里有什么问题,为什么编译器仍然认为 toArray(T[]) 方法没有实现?

最佳答案

由于您使用的是通用方法 public T[] toArray(T[] a),您应该将参数添加到类签名中并使其分别扩展和实现参数化类和接口(interface),而不是原始的。然后它将编译:

public class Foo<T> extends AbstractList<T> implements List<T> {

@Override
public <E> E[] toArray(E[] a) throws UnsupportedOperationException {
throw new UnsupportedOperationException("Error!");
}

...
}

关于java - 类必须声明为抽象的或实现抽象方法 toArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43161217/

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