我有一个如下所示的数组。
基本上在这个数组中,有时bag数据[i] .getSecurityType()可能包含也可能不包含数组中的值。
for (int i = 0; i <bagdata.length; i++) {
if (bagdata[i].getSecurityType() != null) {
flag = true;
} else {
flag = false;
}
}
我认为我的代码覆盖了标志值。我怎么处理这个?
答案 0 :(得分:4)
根据您要标记的内容,尝试:
boolean flag = true;
for (int i = 0; i <bagdata.length; i++) {
flag &= bagdata[i].getSecurityType() != null;
}
答案 1 :(得分:2)
如果需要,请在设置标志后立即使用break;
。如果你想要对每个值标记,请创建一个标志数组。
答案 2 :(得分:1)
如果你想将flag设置为true,如果至少有一个containsdata你应该在循环之前将标志设置为false并删除其他部分,如下所示:
flag=false;
for (int i = 0; i <bagdata.length; i++) {
if (bagdata[i].getSecurityType() != null) {
flag = true;
}
}
但是如果你想记住数组中每个元素的标志,你应该创建一个标志数组......
答案 3 :(得分:1)
如果要将标志值设置为true,则使用 break 语句退出循环。