2016-11-14 1 views
1

Während ich eine Last erstelle, gibt mein Programm einen Fehler unterhalb;illegaler Start von Typfehler über meinen Code

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

Hier ist der Code;

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); 
    } 
} 
+0

welche jdk verwenden Sie? Java SE 7 und höher, können Sie Diamant <> verwenden .. Bitte überprüfen Sie Ihre Java-Compiler-Version. – iMBMT

+0

Sie erstellen eine 'ArrayList' von * what *? Haben Generika in Java keinen Typ? –

+0

@iMBMT Ich verwende Java SE 6. Wenn ich dem Diamanten den Parameter gebe, ist das Problem gelöst. Danke für Ihre Hilfe. – kaydemir

Antwort

3

Es ist wahrscheinlich, dass Sie die JDK eine Version, die niedriger als 7 ist verwenden Sie weiß nicht, was the diamond <> ist.

auf die folgende Änderung löst das Problem:

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

Natürlich Sie sind frei, eine neuere Java-Version zum Download alle praktischen Funktionen zu verwenden, die in den vorherigen nicht erlaubt.

+0

Vielen Dank für die Informationen. Ich benutze JDK 6 und wenn ich den Diamontyp als String als Antwort geben, ist das Problem gelöst. – kaydemir

Verwandte Themen