Domande con tag 'java8'

10
risposte

Perché utilizzare Opzionale in Java 8+ anziché i tradizionali controlli puntatori nulli?

Recentemente siamo passati a Java 8. Ora, vedo le applicazioni inondate con Optional objects. Prima di Java 8 (Stile 1) Employee employee = employeeServive.getEmployee(); if(employee!=null){ System.out.println(employee.getId()); }...
posta 18.01.2018 - 15:34
5
risposte

Perché i metodi predefiniti e statici sono stati aggiunti alle interfacce in Java 8 quando avevamo già classi astratte?

In Java 8, le interfacce possono contenere metodi implementati, metodi statici e i cosiddetti metodi "predefiniti" (che le classi di implementazione non devono sovrascrivere). Nella mia (probabilmente ingenua) visione, non c'era bisogno di vi...
posta 20.03.2014 - 16:01
3
risposte

Perché le classi java.time di Java 8 mancano di un metodo getMillis ()?

Java 8 ha un'intera nuova libreria per le date e le ore nel pacchetto java.time che è una cosa molto gradita a chiunque abbia dovuto usare JodaTime o abbia complicato i propri metodi di helper per l'elaborazione della data. Molte classi in quest...
posta 24.01.2014 - 16:17
3
risposte

Qual è il nome di una funzione che non accetta argomenti e non restituisce nulla? [chiuso]

Nel pacchetto java.util.function di Java 8 abbiamo: Funzione : accetta un argomento, produce un risultato. Consumatore : accetta un argomento, non produce nulla. Fornitore : non accetta argomenti, produce un risultato. ... : a...
posta 20.03.2015 - 11:56
3
risposte

C'è un vantaggio in termini di prestazioni nell'usare la sintassi del riferimento al metodo invece della sintassi lambda in Java 8?

I riferimenti al metodo ignorano l'overhead del wrapper lambda? Potrebbero in futuro? In base al tutorial Java sui riferimenti al metodo : Sometimes... a lambda expression does nothing but call an existing method. In those cases, it's...
posta 26.03.2015 - 16:16
6
risposte

Soluzione alternativa per Java controllate le eccezioni

Apprezzo molto le nuove funzionalità di Java 8 su lambdas e le interfacce dei metodi predefinite. Tuttavia, mi annoio ancora con le eccezioni controllate. Ad esempio, se voglio solo elencare tutti i campi visibili di un oggetto, vorrei semplicem...
posta 29.01.2014 - 14:56
3
risposte

Perché dovrei usare "operazioni funzionali" invece di un ciclo for?

for (Canvas canvas : list) { } NetBeans mi suggerisce di utilizzare "operazioni funzionali": list.stream().forEach((canvas) -> { }); Ma perché questo preferito ? Se mai, è più difficile da leggere e capire. Stai chiamando stream()...
posta 13.09.2015 - 21:12
3
risposte

E 'un antipattern usare peek () per modificare un elemento stream?

Supponiamo di avere un flusso di cose e voglio "arricchirle" a metà stream, posso usare peek() per fare ciò, ad esempio: streamOfThings.peek(this::thingMutator).forEach(this::someConsumer); Supponiamo che la mutazione delle cose a ques...
posta 01.02.2016 - 18:39
1
risposta

Tipo di inferenza in Java 8

È l'introduzione della nuova notazione lambda (vedi ad esempio questo articolo ) in Java 8 richiederà qualche tipo di inferenza di tipo? In caso affermativo, in che modo il nuovo sistema di tipi avrà un impatto sulla lingua Java nel suo comp...
posta 30.11.2012 - 17:03
3
risposte

Perché Optional.get () non chiama isPresent () male, ma non iterator.next ()?

Quando si utilizza la nuova API di Java8 stream per trovare un elemento specifico in una raccolta, scrivo un codice come questo: String theFirstString = myCollection.stream() .findFirst() .get(); Qui IntelliJ avv...
posta 19.05.2016 - 10:44