为了账号安全,请及时绑定邮箱和手机立即绑定

使用 foreach 遍历集合对象

使用 foreach 遍历集合对象

至尊宝的传说 2023-04-13 14:26:47
我想迭代一个实现 Collection 的对象。class A implemets Collection{    private final Collection p= new ArrayList();    @Override    public boolean add(Object e) {        return p.add(e);    }    public void remove() { }    //}在 main 方法中,我向集合 A 添加了两个对象。A a = new A();B b = new B();B b1 = new B();a.add(b);a.add(b1);我想使用 foreach 遍历 A 中的所有 B。我使用了迭代器并且它有效,但我特别想使用 foreach 或增强的 for 循环,例如:a.foreach(eachB -> { eachB.getSomeValueFromGetterMethodInB(); })但是,它向我抛出错误“他的方法 getSomeValueFromGetterMethodInB() 对于类型 Object 是未定义的”。我在这里缺少一些基本概念吗?我不能迭代 Collection 实现是 foreach 的局限之一吗?任何建议将不胜感激?谢谢
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

您必须Collection使用它将包含的特定类型的对象声明:

private final Collection<B> p = new ArrayList<>();

并且,指出您用于实施的类型Collection

class A implements Collection<B>

..这也需要调整方法add()

public boolean add(B e) { 
   return p.add(e);
}


查看完整回答
反对 回复 2023-04-13
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信