当我们编写以下代码时
Stream.of(1,2,3,4,5).filter(i -> (i%2 == 0)).map( i -> i*i );
表达式i -> (i%2 == 0)
或i -> i*i
将变为私有方法。
在我的用例中,编写了一个junit测试以确保没有方法是私有的(是啊,那是强制的),并且这些lambda表达式失败了。
有人可以建议我不需要更改junit来为lambda表达式添加一些排除,但是让这些表达式在内部制作受保护的方法吗?
答案 0 :(得分:8)
protected static boolean isEvent(int i){
return i %2 == 0
}
ints.stream().filter(MyClass::isEvent)