Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Iterable<;字符串>;到Iterable<;T>;_Java_Generics_Iterable - Fatal编程技术网

Java Iterable<;字符串>;到Iterable<;T>;

Java Iterable<;字符串>;到Iterable<;T>;,java,generics,iterable,Java,Generics,Iterable,被重写的方法想要返回Iterable,但在方法内部我有Iterable。如何从Iterable返回Iterable,甚至Set 代码: @覆盖 公共Iterable getAll(){ Set=getCache().keySet(); iter=set; 返回? } 简单的答案-你不能。不可能进行转换 声明Iterable getAll()表示该方法应返回一个Iterable,该方法提供T的实例,其中T表示实例化封闭泛型类型时使用的参数类型 如果您的代码只能返回一个Iterable,那么当T为S

被重写的方法想要返回
Iterable
,但在方法内部我有
Iterable
。如何从
Iterable
返回
Iterable
,甚至
Set

代码:

@覆盖
公共Iterable getAll(){
Set=getCache().keySet();
iter=set;
返回?
}

简单的答案-你不能。不可能进行转换

声明
Iterable getAll()
表示该方法应返回一个
Iterable
,该方法提供
T
的实例,其中
T
表示实例化封闭泛型类型时使用的参数类型


如果您的代码只能返回一个
Iterable
,那么当
T
String
时,它将只满足呼叫站点的类型要求。如果这是可以接受的,那么您也可以去掉泛型类型参数
T

如果泛型总是字符串,为什么还要使用泛型?您想返回什么?是
键集
?如果是这样的话,您的方法返回类型应该是
Iterable
,但我怀疑您应该返回其他内容,即
Iterable
。是的,我应该返回Iterable,但我有一个集合。可以转换吗?
@Override
public Iterable<T> getAll() {
   Set<String> set = getCache().keySet();
   Iterable<String> iter = set;
   return ?
}