Articles of java 8

Lambdas nell’esempio classico di Operation enum

Come molti di voi potrebbero sapere, c’è un classico esempio dell’enumerazione di Operation (usando ora l’interfaccia standard di Java 8), che è la seguente: enum Operation implements DoubleBinaryOperator { PLUS(“+”) { @Override public double applyAsDouble(final double left, final double right) { return left + right; } }, MINUS(“-“) { @Override public double applyAsDouble(final double left, […]

Momento di derisione nell’API java.time di Java 8

Joda Time ha un buon DateTimeUtils.setCurrentMillisFixed () per prendere in giro il tempo. È molto pratico nei test. Esiste un equivalente nell’API java.time di Java 8 ?

java.lang.NullPointerException viene lanciata usando un metodo-riferimento ma non un’espressione lambda

Ho notato qualcosa di strano sulle eccezioni non gestite usando il riferimento al metodo Java 8. Questo è il mio codice, usando l’espressione lambda () -> s.toLowerCase() : public class Test { public static void main(String[] args) { testNPE(null); } private static void testNPE(String s) { Thread t = new Thread(() -> s.toLowerCase()); // Thread […]

Scopo del terzo argomento per ridurre la funzione nella programmazione funzionale di Java 8

In quali circostanze è il terzo argomento a ‘ridurre’ chiamato in Java 8 flussi? Il codice seguente tenta di attraversare un elenco di stringhe e sumre i valori del punto di codice del primo carattere di ciascuno. Il valore restituito dal lambda finale non sembra mai essere usato e, se si inserisce un println, non […]

Un programma realizzato con Java 8 può essere eseguito su Java 7?

Sono leggermente confuso. Oracle afferma che Java 8 è altamente compatibile con Java 7 (backward). Ma quali sono le possibilità che il programma Java 8 possa essere eseguito con successo su Java 7 (SE / EE)? Se il punto uno era vero, le applicazioni Java 8 verranno implementate ed eseguite su un supporto server Java […]

Il modo più efficace per ottenere l’ultimo elemento di un stream

Stream non ha un metodo last() : Stream stream; T last = stream.last(); // No such method Qual è il modo più elegante e / o efficace per ottenere l’ultimo elemento (o null per un stream vuoto)?

Tomcat 8 Maven Plugin per Java 8

Il tomcat7-maven-plugin funziona con un server tomcat 8 e java 8? Non riesco a trovare alcun tomcat8-maven-plugin .

Come applicare più predicati a un java.util.Stream?

Come posso applicare più predicati al metodo filter() java.util.Stream’s ? Questo è quello che faccio adesso, ma non mi piace davvero. Ho una Collection di cose e ho bisogno di ridurre il numero di cose in base alla Collection di filtri (predicati): Collection things = someGenerator.someMethod(); List filtered = things.parallelStream().filter(p -> { for (Filter f […]

Java 8 forOach con indice

C’è un modo per build un metodo forEach in Java 8 che itera con un indice? Idealmente mi piacerebbe qualcosa del genere: params.forEach((idx, e) -> query.bind(idx, e)); Il meglio che potrei fare adesso è: int idx = 0; params.forEach(e -> { query.bind(idx, e); idx++; });

Filtra i valori solo se non null utilizzando lambda in Java8

Ho una lista di oggetti che dicono car . Voglio filtrare questo elenco in base ad alcuni parametri usando Java 8. Ma se il parametro è null , lancia NullPointerException . Come filtrare i valori nulli? Il codice corrente è il seguente requiredCars = cars.stream().filter(c -> c.getName().startsWith(“M”)); Ciò genera NullPointerException se NullPointerException getName() restituisce null […]