0

我有两个配置文件说SignProfileValidationProfile。这些配置文件可以超过 1 个,比如说

SignProfile.size >1 and  ValidationProfile.size>1

现在有一段代码我必须在任何时候执行SignProfileValidationProfile不执行,null如果它们对于签名和验证都不止一个,我也需要遍历这些配置文件。

我在用

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。因此,按照上面的代码,没有执行预期的代码。

有人可以指导我吗?我应该使用其他收藏吗?

4

2 回答 2

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?
        }
    }
}
于 2012-06-21T20:40:37.170 回答
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
      }
    }
  }
}

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

顺便问一下,您确定要嵌套这些吗?他们之间似乎没有任何关系。

于 2012-06-21T20:42:30.803 回答