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.
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 …
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 …
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. …
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 …
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 …
Durante la ricerca attraverso il linguaggio Java Specification per rispondere a questa domanda , ho imparato che Prima che una classe venga inizializzata, la sua superclasse diretta deve essere inizializzata, ma le interfacce implementate dalla classe non vengono inizializzate. Allo stesso modo, le superinterfacce di un'interfaccia non vengono inizializzate prima …
Qual è il garbage collector predefinito per Java 8? Quando controllo i fagioli JMX, rivelano che è il raccoglitore parallelo per la nuova generazione e il vecchio raccoglitore seriale per la vecchia generazione.
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 …
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 …
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 …
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 .
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 …
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 …
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 …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.