2012-06-21 38 views
0

我有两个配置文件,分别为SignProfileValidationProfile。这些配置文件可以大于1,表示迭代时是否使用数组列表或其他集合

SignProfile.size >1 and ValidationProfile.size>1 

现在有一段代码,我不得不执行时SignProfileValidationProfilenull,我需要通过这些配置循环太多,如果他们不止一个适用于Sign和Validation。

我使用

List<SignProfile> SP = new ArrayList<>; 
List<ValidationProfile> Vali = new ArrayList<>; 
while SP_interator.hasnext 
{ 
    while Vali_interator.hasnext 
    { 
     // do something 
    } 
    // Piece of code 
} 

现在我面临的问题是,有时SignProfile来null,但ValidationProfile不null。所以根据上面的代码,目标代码片段不会被执行。

有人能指导我吗?我应该使用其他收藏品吗?

+0

你为什么在嵌套循环中做它们是如何相关的? – Ixx

回答

0

这是你的意思吗?

if (signProfiles != null && validationProfiles != null) { 

    for (SignProfile signProfile : signProfiles) { 
     //do something with signProfile 
    } 

    for (ValidationProfile validationProfile : validationProfiles) { 
     //do something with validationProfile 
    } 
} 

或者嵌套的版本...

if (signProfiles != null && validationProfiles != null) { 

    for (SignProfile signProfile : signProfiles) { 
     //do something with signProfile 

     for (ValidationProfile validationProfile : validationProfiles) { 
     //do something with validationProfile, and signProfile? 
     } 
    } 
} 
0

如果你在Java 5或更高版本,可以使用foreach语法:

List<SignProfile> signProfileList = new ArrayList<>; 
List<ValidationProfile> validationProfileList = new ArrayList<>; 

if(signProfileList != null) { 
    for(SignProfile sp : signProfileList) { 
    // you can work with the sp variable here, which represents the current item from signProfileList 
    if(validationProfileList != null) { 
     for(ValidationProfile vp : validationProfileList) { 
     // you can work with vp variable here, which represents the current item from validationProfileList 
     } 
    } 
    } 
} 

注:我重命名了一些变量以使代码更清晰一些。

顺便说一句,你确定你想要这些嵌套?他们似乎不涉及彼此。

相关问题