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.

5
¿Cómo encontrar el total de semanas de un año en Java?
Estoy trabajando en un proyecto Allí debería encontrar el total de semanas de un año. Intenté con el siguiente código, pero recibí la respuesta incorrecta: 2020 tiene 53 semanas, pero este código da 52 semanas. ¿Dónde me he equivocado en este código? package com.hib.mapping; import java.time.LocalDate; import java.time.temporal.WeekFields; import java.util.Calendar; …

1
¿Por qué el compilador elige este método genérico con un parámetro de tipo de clase cuando se invoca con un tipo de interfaz no relacionado?
Considere las siguientes dos clases e interfaces: public class Class1 {} public class Class2 {} public interface Interface1 {} ¿Por qué la segunda llamada para mandatoryinvocar el método sobrecargado con Class2, si getInterface1y Interface1no tiene relación Class2? public class Test { public static void main(String[] args) { Class1 class1 = …

1
Referencia de métodos y genéricos en Java-8
Estoy enfrentando un problema con la referencia de método combinada con tipos genéricos. Tenemos un código donde necesitamos llamar a un método sobrecargado, pero falla con un error: No se puede resolver el valor m1 () He simplificado mi problema para aclarar dónde está el problema. El siguiente código falla: …
11 java  generics  lambda  java-8 

2
Limpieza de una lista de datos en Java8
Para limpiar una lista de datos, he creado un método que acepta la lista de datos y la lista de operaciones de limpieza a realizar. public <T> List<T> cleanData(List<T> data, List<Function<T, T>> cleanOps) { List<T>dataNew=data.stream().map((str) -> { T cleanData = str; for(Function<T,T> function:cleanOps) { cleanData=function.apply(cleanData); } return cleanData; }).collect(Collectors.toList()); return …

4
Cómo peek () y allMatch () funcionan juntos en Java 8 Stream API
Encontré un cuestionario sobre Java 8 Stream API del método peek como se muestra a continuación Arrays.asList("Fred", "Jim", "Sheila") .stream() .peek(System.out::println) .allMatch(s -> s.startsWith("F")); La salida es Fred Jim ¿Estoy confundido sobre cómo funciona esta transmisión? Mi resultado esperado debería ser Fred Jim Sheila El método peek () es una …


4
Manejo de excepciones con flujos
Tengo un Map<String,List<String>>y quiero que se convierta Map<String,List<Long>>porque cada uno Stringen la lista representa un Long: Map<String,List<String>> input = ...; Map<String,List<Long>> output= input.entrySet() .stream() .collect(toMap(Entry::getKey, e -> e.getValue().stream() .map(Long::valueOf) .collect(toList())) ); Mi principal problema es que cada uno Stringpuede no representar correctamente a Long; Puede haber algún problema. Long::valueOfpuede plantear …

4
Manera eficiente de iterar y copiar los valores de HashMap
Quiero convertir: Map<String, Map<String, List<Map<String, String>>>> inputMap a: Map<String, Map<String, CustomObject>> customMap inputMapse proporciona en la configuración y está listo, pero necesito customMapformatear. CustomObject se derivará del List<Map<String, String>>uso de pocas líneas de código en una función. He intentado una forma normal de iterar el mapa de entrada y copiar …

2
OutOfMemoryException a pesar de usar WeakHashMap
Si no llama System.gc(), el sistema lanzará una excepción OutOfMemoryException. No sé por qué necesito llamar System.gc()explícitamente; la JVM debería llamarse a gc()sí misma, ¿verdad? Por favor avise. El siguiente es mi código de prueba: public static void main(String[] args) throws InterruptedException { WeakHashMap<String, int[]> hm = new WeakHashMap<>(); int …

1
removeIf detalle de implementación
Tengo una pequeña pregunta detallada de implementación que no puedo entender ArrayList::removeIf. No creo que pueda decirlo simplemente sin algunas condiciones previas. Como tal: la implementación es básicamente masiva remove , a diferencia ArrayList::remove. Un ejemplo debería hacer las cosas mucho más fáciles de entender. Digamos que tengo esta lista: …
9 java  java-8  iterator 

3
Java Stream: filtro con múltiples rangos
Estoy tratando de filtrar un recurso y excluir algunos elementos basados ​​en un campo. Para excluir, tengo un conjunto (que contiene una identificación que debe excluirse) y una lista (contiene múltiples rangos de identificadores que deben excluirse). Escribí la lógica a continuación y no estoy satisfecho con la lógica del …

1
Rompiendo optimizaciones JIT con reflexión
Al jugar con las pruebas unitarias para una clase singleton altamente concurrente, me topé con el siguiente comportamiento extraño (probado en JDK 1.8.0_162): private static class SingletonClass { static final SingletonClass INSTANCE = new SingletonClass(0); final int value; static SingletonClass getInstance() { return INSTANCE; } SingletonClass(int value) { this.value = …

4
Obtenga empleados antes y después de una fecha específica de afiliación de la Lista de empleados con flujo Java
Tengo Listde Employees con diferentes fechas de ingreso. Quiero obtener empleados antes y después de una fecha específica de unirse a la lista mediante transmisiones. Intenté seguir el código, List<Employee> employeeListAfter = employeeList.stream() .filter(e -> e.joiningDate.isAfter(specificDate)) .collect(Collectors.toList()); List<Employee> employeeListBefore = employeeList.stream() .filter(e -> e.joiningDate.isBefore(specificDate)) .collect(Collectors.toList()); class Employee{ int id; String …

5
Cómo crear múltiples hilos para cada artículo de solicitud
Estoy tratando de procesar el siguiente código usando subprocesos múltiples en el nivel de pedido. List<String> orders = Arrays.asList("order1", "order2", "order3", "order4", "order1"); Ejecución secuencial actual: orders.stream().forEach(order -> { rules.forEach(rule -> { finalList.add(beanMapper.getBean(rule) .applyRule(createTemplate.apply(getMetaData.apply(rule), command), order)); }); }); He intentado usar: orders.parallelStream().forEach(order -> {}} // code snippet. Pero está cambiando …


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.