【发布时间】:2013-07-03 20:39:51
【问题描述】:
我有 3 个班级:A、B 和 C。
A 类包含 2 个 B 类型的对象。C 类(“容器”)有一个 A 对象列表,由于有时我需要直接迭代所有创建的 B 对象,所以包含一个 B 对象列表由 A 对象。
class A {
private B b1;
private B b2;
...
}
class B {...}
class C {
List<A> aList;
List<B> bList;
...
}
这是多余的,显然容易出错。
有没有办法迭代 aList 中的 A 对象所包含的所有 B 对象的集合?
我正在寻找一些语法糖来避免以下代码:
public B hasFoo(Q){
for(A a:aList){
if(a.getB1().hasFoo(Q))return a.getB1();
if(a.getB2().hasFoo(Q))return a.getB2();
}
}
【问题讨论】:
-
为什么不能通过遍历
List<A>来访问B属性?这真的不会花费你太多额外的工作。 -
让问题更清楚,我正在寻找更漂亮的方法!
-
如果您想从外部访问它们,请不要将它们设为私有。私有意味着它只能从类内部访问。