gpt4 book ai didi

java - 使用枚举值作为泛型参数实现接口(interface)

转载 作者:行者123 更新时间:2023-12-01 23:15:49 26 4
gpt4 key购买 nike

假设我有一些枚举:

enum Resource { FILE, URL, STREAM }

假设我有一些 Reader 接口(interface):

interface Reader<R extends Resource>

是否可以使用枚举成员创建它的不同实现?像这样:

class FileReader implements Reader<Resource.FILE>

我的 ide 用红色突出显示此文本(这并不奇怪)。

最佳答案

枚举成员是enum类型的实例,而不是子类。此外,枚举不能被子类化。因此,您无法编译代码。

我建议你这样写:

interface Reader {
Resource getResource()
....
}

class FileReader implements Reader {
@Override
public Resource getResource() {return Resource.FILE;}
...
}

关于java - 使用枚举值作为泛型参数实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228619/

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