2012-06-21 35 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 
     } 
    } 
    } 
} 

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

順便說一句,你確定你想要這些嵌套?他們似乎不涉及彼此。

相關問題