【发布时间】:2022-01-14 11:33:08
【问题描述】:
我有一个包含两个字段的策略对象:policyNumber 和 policyStatus。我将有一份保单列表,我需要查看是否有任何保单具有我提供的状态之一。如果有,我将布尔值设置为是。如果没有,我将其设置为否。
通常我会像这样使用嵌套的 for 循环:
Boolean hasStatus = false;
List<Policy> policies = new List<Policy>();
String[] statuses = String[]{'A1','A3','B6','T1','T6'};
for (Policy policy : policies) {
for (int i=0; i<statuses.length; i++) {
if (policy.policyStatus == statuses[i] {
hasStatus = true;
break;
}
}
}
return hasStatus;
现在我在涉及地图、集合和集合以及算法的领域非常周到。我想知道是否有一些事情是我应该做的,而不是使用嵌套的 for 循环和 if 块。如果有,请您给我一些指导吗?还是我真的应该这样做?
【问题讨论】:
-
请注意
'A1'(etc) 不是Strings:您需要使用"A1",并带有双引号。此外,您几乎肯定不想使用==,而应该使用equals。 -
还要注意break跳出当前循环。见stackoverflow.com/questions/886955/…
标签: java arrays list for-loop if-statement