关于我的代码的非法启动类型错误
问题描述:
当我创建一个加载时,我的程序给出了以下错误;关于我的代码的非法启动类型错误
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);
}
}
答
这可能是因为您使用的是JDK一个版本,这是低于7.不知道什么the diamond <>
是。
更改为以下将解决这一问题:
new ArrayList<String>(listOfAcctStorageRuleName.size());
当然,你可以*地下载新的Java版本使用未在以前的允许的所有方便的特点。
+0
谢谢你的信息。我使用的是JDK 6,当我根据你的回答给出diamon类型为String时,问题就解决了。 – kaydemir
哪个jdk是你用的? Java SE 7及更高版本,您可以使用钻石 ..请检查您的java编译器版本。 – iMBMT
你创建一个'ArrayList' * what *? Java中的泛型不需要类型? –
@iMBMT我正在使用Java SE 6.当我给钻石参数时,问题就解决了。谢谢你的帮助。 – kaydemir