gpt4 book ai didi

Java泛型,不能使用任何可迭代对象的参数创建构造函数

转载 作者:行者123 更新时间:2023-12-01 17:30:39 25 4
gpt4 key购买 nike

我有以下类签名:public class LoopIterator<E> implements Iterator<E> 。我有一个现有的构造函数:public LoopIterator(Iterable<E> iterable){ 。我尝试在我的主类/主函数中输入以下内容:

LinkedList<String> l= new LinkedList<String>();
l.add("1"); l.add("2"); l.add("3"); l.add("4");
LoopIterator<LinkedList<String>> m= new LoopIterator<LinkedList<String>>(l);

但我不能,因为构造函数期望得到 Iterable<E>这不符合 LinkedList<String> .

那么如何更改我的构造函数/类签名,以便我可以在构造函数中输入任何类型 E 的 Iterable ?

最佳答案

在本例中,LinkedList 实现了 Iterable,E 是迭代时返回的对象类型(即 String)。

所以,你需要...

LoopIterator<String> m = new LoopIterator<String>( l);

编译器应该会更高兴。

关于Java泛型,不能使用任何可迭代对象的参数创建构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273779/

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