Preguntas etiquetadas con java-8

Utilice esta etiqueta para preguntas específicas sobre Java 8, que es la versión 8 (número interno 1.8) de la plataforma Java, lanzada el 18 de marzo de 2014. En la mayoría de los casos, también debe especificar la etiqueta java.

6
Transforme el futuro de Java en un futuro completo
Java 8 presenta CompletableFutureuna nueva implementación de Future que es componible (incluye un montón de métodos entoncesXxx). Me gustaría usar esto exclusivamente, pero muchas de las bibliotecas que quiero usar devuelven solo Futureinstancias no componibles . ¿Hay alguna manera de envolver las Futureinstancias devueltas dentro de una CompleteableFuturepara poder componerla?
97 java  java-8  future 

5
¿Por qué Collections.sort usa Mergesort pero Arrays.sort no?
Estoy usando JDK-8 (x64). Para Arrays.sort(primitivas) encontré lo siguiente en la documentación de Java: El algoritmo de clasificación es un Quicksort de doble pivote de Vladimir Yaroslavskiy, Jon Bentley y Joshua Bloch. Para Collections.sort(objetos) encontré este "Timsort": Esta implementación es un mergesort iterativo, adaptable, estable ... Esta implementación vuelca la …

15
Java 8 Stream con procesamiento por lotes
Tengo un archivo grande que contiene una lista de elementos. Me gustaría crear un lote de elementos, realizar una solicitud HTTP con este lote (todos los elementos son necesarios como parámetros en la solicitud HTTP). Puedo hacerlo muy fácilmente con un forbucle, pero como amante de Java 8, quiero intentar …

6
¿Cómo comprobar si una secuencia de Java 8 está vacía?
¿Cómo puedo verificar si a Streamestá vacío y lanzar una excepción si no lo está, como una operación no terminal? Básicamente, estoy buscando algo equivalente al código a continuación, pero sin materializar el flujo intermedio. En particular, la verificación no debe ocurrir antes de que la secuencia sea consumida realmente …

5
Uso adecuado de Optional.ifPresent ()
Estoy tratando de comprender el ifPresent()método de laOptional API en Java 8. Tengo una lógica simple: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Pero esto resulta en un error de compilación: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Por supuesto que puedo hacer algo como esto: if(user.isPresent()) { doSomethingWithUser(user.get()); } Pero esto es …
95 java  lambda  java-8  optional 






5
¿Por qué no puedo asignar números enteros a cadenas cuando transmito desde una matriz?
Este código funciona (tomado en el Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Este no se puede compilar: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA me dice que tengo …

6
Implementación de HashMap Java 8
Según el siguiente documento de enlace: Implementación de Java HashMap Estoy confundido con la implementación de HashMap(o más bien, una mejora en HashMap). Mis consultas son: en primer lugar static final int TREEIFY_THRESHOLD = 8; static final int UNTREEIFY_THRESHOLD = 6; static final int MIN_TREEIFY_CAPACITY = 64; ¿Por qué y …

3
_ (subrayado) es una palabra clave reservada
Acabo de reemplazar sla siguiente expresión lambda por _: s -> Integer.parseInt(s) El compilador de Eclipse dice: '_' no debe usarse como identificador, ya que es una palabra clave reservada desde el nivel de fuente 1.8 en adelante. No he encontrado ninguna explicación en JLS §3.9 Estructura léxica / Palabras …
92 java  lambda  java-8 

6
Uso de transmisiones para recopilar en TreeSet con un comparador personalizado
Trabajando en Java 8, tengo una TreeSetdefinición como esta: private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport es una clase bastante simple definida así: public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport create(long timestamp, Position position) { return new PositionReport(timestamp, …

3
¿Cuál es la implementación "predeterminada" del método definido en una interfaz?
En la interfaz de colección encontré un método llamado removeIf()que contiene su implementación. 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; } Quiero saber si hay alguna …
91 java  interface  java-8 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.