1

負荷を作成しているときに、プログラムで以下のエラーが発生します。

D:\views\UniqueAcctStorageRuleNameValidator.java:34: illegal start of type
List<String> listOfAcctStorageRuleNameAsArray =
    new ArrayList<>(listOfAcctStorageRuleName.size());

コードは次のとおりです。

public class FKAcctStorageRuleNameValidator extends AbstractAnnotationCheck<FKAcctStorageRuleName>{

   private static final long serialVersionUID = 1L;

   private SpecbookValidatorManager specBookValidator;   

   @Override
   public boolean isSatisfied(Object validatedObject, Object valueToValidate,
           OValContext context, Validator validator) throws OValException {
      if (valueToValidate == null) return true;

      specBookValidator = SpecbookValidatorManagerImpl.getInstance();

      List<SpecbookAcctStorageRule> listOfAcctStorageRuleName = specBookValidator.getAcctStorageRuleList();

      List<String> listOfAcctStorageRuleNameAsArray = new ArrayList<>(listOfAcctStorageRuleName.size());
      for (SpecbookAcctStorageRule specbookAcctStorageRule : listOfAcctStorageRuleName) {
         listOfAcctStorageRuleNameAsArray.add(specbookAcctStorageRule.getName());
      }

      return ListUtil.containsIgnoreCase((String) valueToValidate, listOfAcctStorageRuleNameAsArray);
   }
}
4

1 に答える 1

3

JDK のバージョンが 7 より前のバージョンを使用している可能性があります。ひし形<>が何であるかはわかりません。

次のように変更すると、問題が解決します。

new ArrayList<String>(listOfAcctStorageRuleName.size());

もちろん、新しい Java バージョンを自由にダウンロードして、以前のバージョンでは許可されていなかったすべての便利な機能を使用できます。

于 2016-11-14T07:25:27.713 に答える