2016-11-14 2 views
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); 
    } 
} 
+0

어느 jdk를 사용하고 있습니까? Java SE 7 이상에서는 diamond <>을 사용할 수 있습니다. Java 컴파일러 버전을 확인하십시오. – iMBMT

+0

당신은 * what *의'ArrayList'를 생성합니까? Java의 제네릭 형식이 필요하지 않습니까? –

+0

@iMBMT Java SE 6을 사용하고 있습니다. 다이아몬드에 매개 변수를 제공하면 문제가 해결됩니다. 당신의 도움을 주셔서 감사합니다. – kaydemir

답변

3

그것은 당신이 JDK 그것은 the diamond <>이 무엇인지 모르는보다 낮은 7입니다 버전을 사용하는 가능성이 높습니다.

다음으로 변경하면 문제가 해결됩니다

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

, 이전 것들에서 허용되지 않은 모든 편리한 기능을 사용하려면 최신 자바 버전을 무료로 다운로드 할 수 있습니다.

+0

정보 주셔서 감사합니다. 나는 JDK 6을 사용하고 있으며 귀하의 답변에 따라 diamon 유형을 String으로 지정하면 문제가 해결됩니다. – kaydemir