public class ActivityInventoryMem<Activity> extends TreeSet<Activity> implements ActivityInventory<Activity> {
@Override
public ToDo toDo( LocalDate date ) {
Stream<Activity> s = this.parallelStream();
s.filter( a -> a.completed() );
return new ToDo();
}
}
这是例外
java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: java.util.stream.Stream.filter
at com.lm.infrastructure.memory.ActivityInventoryMem.toDo(ActivityInventoryMem.java:16)
at com.lm.infrastructure.memory.ActivityInventoryMemNGTest.testToDo(ActivityInventoryMemNGTest.java:46)
我在 jdk 8 中运行它,并将以下内容放入 mypom.xml
中,现在它似乎可以识别 lambda 的
<!-- maven-compiler-plugin -->
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
问题(根据我从 netbeans 收集的信息)是它被a
视为Object
不是一个Activity
,所以它看不到.completed()
,我该如何解决这个问题?