gpt4 book ai didi

java - 是否有 Java for-each 循环接受的最通用的 "iterable"类型?

转载 作者:搜寻专家 更新时间:2023-11-01 01:38:43 25 4
gpt4 key购买 nike

有没有类型 XXX<T>可以用 for-each 迭代并包含 T[]Iterable<T>以便以下编译(假设类上下文和兼容方法 do_something )?

public void iterate(XXX<T> items)
{
for (T t : items)
do_something(t);
}

public void iterate_array(T[] items)
{
iterate(items);
}

public void iterate_iterable(Iterable<T> items)
{
iterate(items);
}

在 Java 1.5 中,我没有发现任何此类内容。也许在更高版本的语言中?(我想这可能是一个常见问题解答。如果是的话,请原谅我的噪音。快速谷歌搜索没有给出答案。)

最佳答案

简短的回答是:不,没有涵盖两者的类型。

简单的解决方案是将数组包装在 List 中,然后用它调用

public void iterate_array(T[] items)
{
iterate(Arrays.asList(items));
}

public void iterate_array(Iterable<T> items)
{
for (T t : items)
do_something(t);
}

关于java - 是否有 Java for-each 循环接受的最通用的 "iterable"类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3438460/

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