gpt4 book ai didi

java - 如何迭代存储为 Object 类型的 Java 集合?

转载 作者:行者123 更新时间:2023-11-30 06:16:44 25 4
gpt4 key购买 nike

假设我有一个 A 类的列表,定义为:

Object list = new ArrayList<A>();

我想重复一下这一点。是否可以?如果是的话怎么办?即使我使用反射找到列表的类型,我也不会到达 A 类。另外,请注意,我不知道 A 类是什么。我只有 list 。

最佳答案

如果您按照所示方式实例化 ArrayList(您希望将其视为 Object) - 该类不允许迭代,类实现 Iterable接口(interface)提供了这个功能),然后你需要迭代它的元素,你可以从Objectcast这个list > 到 Iterable,这样迭代就可用于 list:

    for(A a : (Iterable<A>) list) {
// do stuff
}

或者当您需要迭代器来迭代列表的元素时:

    Object list = new ArrayList<A> ();
Iterator<A> it = ((Iterable<A>)list).iterator();

您可能需要查看 Java API 文档以了解有关 Iterable 接口(interface)的更多信息 here .

编辑:感谢 Federico Peralta Schaffnerluk2302 的有用建议,对这个答案进行了编辑。

关于java - 如何迭代存储为 Object 类型的 Java 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49038835/

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