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.

7
Formatta Instant in String
Sto cercando di formattare un Instant to a String usando il nuovo java 8 time-api e uno schema: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); Usando il codice sopra ottengo un'eccezione che lamenta un campo non supportato: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) ...


5
.Min () e .max () di Java 8 stream: perché viene compilato?
Nota: questa domanda proviene da un link non attivo che era una precedente domanda SO, ma qui va ... Vedi questo codice ( nota: so che questo codice non "funzionerà" e che Integer::comparedovrebbe essere usato - l'ho appena estratto dalla domanda collegata ): final ArrayList <Integer> list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList()); …
215 java  java-8  java-stream 

1
Perché si dovrebbe usare Objects.requireNonNull ()?
Ho notato che molti metodi Java 8 in Oracle JDK utilizzano Objects.requireNonNull(), che genera internamente NullPointerExceptionse l'oggetto specificato (argomento) lo è null. public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } Ma NullPointerExceptionverrà lanciato comunque se un nulloggetto viene sottoposto a dereferenziazione. …

2
Qual è il motivo per cui "sincronizzato" non è consentito nei metodi di interfaccia Java 8?
In Java 8, posso facilmente scrivere: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } } Otterrò la semantica della sincronizzazione completa che posso usare anche in classe. Non posso, tuttavia, utilizzare il synchronizedmodificatore …



8
Differenza tra `Optional.orElse ()` e `Optional.orElseGet ()`
Sto cercando di capire la differenza tra i metodi Optional<T>.orElse()e Optional<T>.orElseGet(). La descrizione per il orElse()metodo è "Restituisce il valore se presente, altrimenti restituisce altro". Mentre, la descrizione per il orElseGet()metodo è "Restituisce il valore se presente, altrimenti invoca altro e restituisce il risultato di quella chiamata." Il orElseGet()metodo utilizza …
206 java  java-8  optional 


2
Perché String.chars () è un flusso di ints in Java 8?
In Java 8, esiste un nuovo metodo String.chars()che restituisce un flusso di ints ( IntStream) che rappresenta i codici carattere. Immagino che molte persone si aspetterebbero un flusso di chars qui invece. Qual è stata la motivazione per progettare l'API in questo modo?
198 java  string  java-8 

4
Java 8 Stream e operazioni su array
Ho appena scoperto le nuove funzionalità del flusso Java 8. Provenendo da Python, mi chiedevo se ora ci fosse un modo pulito per eseguire operazioni su array come il summing, moltiplicando due array in modo "una linea pitonica"? Grazie



9
Argomento Java 8 lambda Void
Diciamo che ho la seguente interfaccia funzionale in Java 8: interface Action<T, U> { U execute(T t); } E per alcuni casi ho bisogno di un'azione senza argomenti o tipo di ritorno. Quindi scrivo qualcosa del genere: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; Tuttavia, mi dà …
188 java  lambda  java-8  void 

19
Limitare un flusso di un predicato
Esiste un'operazione di flusso Java 8 che limita un (potenzialmente infinito) Stream fino a quando il primo elemento non riesce a corrispondere a un predicato? In Java 9 possiamo usare takeWhilecome nell'esempio seguente per stampare tutti i numeri meno di 10. IntStream .iterate(1, n -> n + 1) .takeWhile(n -> …
187 java  java-8  java-stream 

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.