java - 关于我的代码的类型错误的非法开始

标签 java list generics diamond-operator

当我创建负载时,我的程序出现以下错误;

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 版本以使用以前版本中不允许的所有便利功能。

关于java - 关于我的代码的类型错误的非法开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583613/

相关文章:

java - 在 shell 脚本中运行命令

java - 如何在 IntelliJ 上使用 gradle 添加库?

java - 无法在列表中生成随机分散的真值和假值

Python 负列表索引包装为切片

C#\避免内存不足异常

generics - 如何在 Rust 中使用泛型类型的内部可变性?

java - 使用 .clear() 后 ArrayList 未更新

python - 如何打印出列表中以特定字母开头的元素

Java 泛型 - 构造函数中的类型不匹配

Java 类型转换列表