Sono nuovo di Java 8 e questa potrebbe essere una domanda stupida ma sono bloccato a questo punto.java lambdaj 'variable_name' non può essere risolto con un errore variabile
Sto cercando di eseguire il seguente codice in eclissi ma fornisce un errore di compilazione.
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.function.Predicate;
import java.util.stream.Stream;
import ch.lambdaj.Lambda;
public class LambdajTest {
public static void main(String[] args) {
List list = new ArrayList();
list.add(1);
list.add(3);
list.add(8);
list.add(10);
list.add(16);
int sum = list.stream().filter(p -> p > 10).mapToInt(p -> p).sum();
}
}
L'errore è: - p non può essere risolto in una variabile. Ho aggiunto il jar lambdaj 2.3.3 in classpath.
Gentilmente fornire una soluzione. Grazie in anticipo.
È necessario dichiarare p come int nell'espressione lambda – ryekayo
Il proprio codice non ha bisogno di LambdaJ. LambdaJ è principalmente una libreria che fornisce buoni metodi di raccolta ed è indirizzata a Java <8. Non ha nulla a che fare con Java 8 Lambdas. –