Domande taggate «java-8»

Utilizzare questo tag per domande specifiche su Java 8 che è la versione 8 (numero interno 1.8) della piattaforma Java, rilasciata il 18 marzo 2014. Nella maggior parte dei casi, è necessario specificare anche il tag java.

5
Ritorno da lambda forEach () in java
Sto cercando di cambiare alcuni cicli for-each in lambda forEach()-methods per scoprire le possibilità delle espressioni lambda. Sembra possibile quanto segue: ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player player : players) { if (player.getTeam().equals(teamName)) { playersOfTeam.add(player); } } Con lambda forEach() players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}}); Ma il prossimo non funziona: for …

15
Java 8 Stream con elaborazione batch
Ho un file di grandi dimensioni che contiene un elenco di elementi. Vorrei creare un batch di elementi, effettuare una richiesta HTTP con questo batch (tutti gli elementi sono necessari come parametri nella richiesta HTTP). Posso farlo molto facilmente con un forciclo, ma come amante di Java 8, voglio provare …

6
Come verificare se un Java 8 Stream è vuoto?
Come posso verificare se a Streamè vuoto e lanciare un'eccezione in caso contrario, come operazione non terminale? Fondamentalmente, sto cercando qualcosa di equivalente al codice seguente, ma senza materializzare il flusso intermedio. In particolare, il controllo non dovrebbe avvenire prima che il flusso venga effettivamente consumato da un'operazione del terminale. …

5
Uso corretto di Optional.ifPresent ()
Sto cercando di capire il ifPresent()metodo diOptional dell'API in Java 8. Ho una logica semplice: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Ma questo si traduce in un errore di compilazione: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Ovviamente posso fare qualcosa del genere: if(user.isPresent()) { doSomethingWithUser(user.get()); } Ma questo è esattamente come …
95 java  lambda  java-8  optional 

1
completablefuture join vs get
Qual'è la differenza tra CompletableFuture.get()e CompletableFuture.join()? Di seguito il mio codice: List<String> process() { List<String> messages = Arrays.asList("Msg1", "Msg2", "Msg3", "Msg4", "Msg5", "Msg6", "Msg7", "Msg8", "Msg9", "Msg10", "Msg11", "Msg12"); MessageService messageService = new MessageService(); ExecutorService executor = Executors.newFixedThreadPool(4); List<String> mapResult = new ArrayList<>(); CompletableFuture<?>[] fanoutRequestList = new CompletableFuture[messages.size()]; int count …

8
Raggruppa per più nomi di campo in java 8
Ho trovato il codice per raggruppare gli oggetti in base a un nome di campo da POJO. Di seguito è riportato il codice per questo: public class Temp { static class Person { private String name; private int age; private long salary; Person(String name, int age, long salary) { this.name …
95 java  java-8 



6
In Java 8, perché la capacità predefinita di ArrayList ora è zero?
Come ricordo, prima di Java 8, la capacità predefinita di ArrayListera 10. Sorprendentemente, il commento sul costruttore predefinito (void) dice ancora: Constructs an empty list with an initial capacity of ten. Da ArrayList.java: /** * Shared empty array instance used for default sized empty instances. We * distinguish this from …
93 java  arraylist  java-8 

6
Implementazione di HashMap Java 8
Secondo il seguente documento di collegamento: Implementazione Java HashMap Sono confuso con l'implementazione di HashMap(o meglio, un miglioramento in HashMap). Le mie domande sono: In primo luogo static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; Perché e come vengono utilizzate …

5
Perché non riesco a mappare gli interi alle stringhe durante lo streaming da un array?
Questo codice funziona (preso in Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Questo non può essere compilato: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA mi dice che ho una …

3
_ (trattino basso) è una parola chiave riservata
Ho appena sostituito snella seguente espressione lambda da _: s -> Integer.parseInt(s) Il compilatore Eclipse dice: "_" non deve essere utilizzato come identificatore, poiché è una parola chiave riservata dal livello di origine 1.8 in poi. Non ho trovato alcuna spiegazione nella struttura lessicale / parole chiave JLS §3.9 .
92 java  lambda  java-8 

4
"Optional.get ()" senza controllo "isPresent ()"
Ho il seguente codice di ricerca in Java: return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get(); Volevo trovare una colonna per nome e restituire la prima trovata. Capisco che c'è un caso in cui non è stato trovato nulla e dovrebbe essere elaborato, ma come? È questo ciò che vuole da questo giuramento: 'Optional.get()' without …

5
java.util.Objects.isNull vs object == null
Come sai, lo java.util.Objectsè Questa classe è costituita da metodi di utilità statici per operare sugli oggetti. Uno di questi metodi è Objects.isNull() . La mia comprensione è questo Objects.isNull() eliminerebbe la possibilità di assegnare accidentalmente un valore nullo all'oggetto omettendo il secondo =. Tuttavia, la nota API afferma: Questo …
92 java  java-8  compare 

3
Qual è l'implementazione "predefinita" del metodo definito in un'interfaccia?
Nell'interfaccia di raccolta ho trovato un metodo denominato removeIf()che contiene la sua implementazione. default boolean removeIf(Predicate<? super E> filter) { Objects.requireNonNull(filter); boolean removed = false; final Iterator<E> each = iterator(); while (each.hasNext()) { if (filter.test(each.next())) { each.remove(); removed = true; } } return removed; } Voglio sapere se esiste un …
91 java  interface  java-8 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.