【发布时间】:2013-11-13 22:08:44
【问题描述】:
以下方法将Member 类型的对象添加到数组中:
public boolean addMember(Member m) {
boolean result = false;
for(int i = 0; i < members.length; i++){
if(members[i] == null){
members[i] = m;
result = true;
}
}
return result;
}
如您所见,如果当前位置为空,我也会返回一个布尔结果。问题是,即使满足条件 - 添加对象,它显示它没有问题 - 结果布尔值始终保持为假。为什么?我怎样才能改变它?
【问题讨论】:
-
你为什么使用数组而不是
List甚至Set? -
其次,使用列表。
-
另外,您这样做的方式不会在第一个空位置添加元素,而是用它填充整个数组,因为您不会跳出循环。
-
你需要一个
break:-) -
@m0skit0 我认为 OP 的问题是它从未返回 true,即循环从未运行/数组 oO 中没有空值