【发布时间】:2020-11-21 21:58:05
【问题描述】:
我有以下测试:
@Test
void verifyCorrectLimitForGroups() throws SQLException {
AbstractDAO<StudentModel, Long> studentsDAO = new StudentDAO(myDatasource);
List<StudentModel> students = studentsDAO.findAll();
for(int a=1;a<11;a++) {
assertTrue(students.stream().filter(i->i.getGroupID()==a).count()<30);
}
}
我的目标是测试 groupIDs 从 1 到 10 的学生是否从未超过 30 的限制。为此,我决定使用 java 8 API 流和一个简单的 for 循环。不幸的是,我遇到了编译问题:Local variable a defined in an enclosing scope must be final or effectively final.
这是否意味着我不能这样做,我应该找到不同的方法?
【问题讨论】:
标签: java compiler-errors java-stream