select(list, having(on(Integer.class).intValue() % 2, equalTo(0)));
위의 코드는 예외를 throw합니다.LambdaJ : select 절에 연산을 적용 할 수없는 이유는 무엇입니까?
select(list, having(on(Integer.class).intValue() % 2, equalTo(0)));
위의 코드는 예외를 throw합니다.LambdaJ : select 절에 연산을 적용 할 수없는 이유는 무엇입니까?
%
작업은 select() 전에 평가되어야하며 각 항목에 대해 평가할 항목을 평가해야합니다. 즉, 당신이 원하는 것은 당신이 루프를 사용한 경우 8.
자바에서 사용할 수 폐쇄 당신이 쓸 수있다
for(int i: list)
if(i % 2 == 0)
// do something with i.
자바의 구문은 종종 이상적으로 당신은 선택을해야 할 때 루프에게 깨끗한 솔루션을 사용한다 (또한 해당 많이 빨리).
당신은 당신의 자신의 정규 표현을 정의 할 수 있습니다이 : HTTP :
Matcher<Integer> even = new Predicate<Integer>() {
public boolean apply(Integer item) {
return item % 2 == 0;
} };
에서 적응 //code.google.com/p/lambdaj/wiki/LambdajFeatures
을