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
Tamaño máximo de un método en Java 7 y 8
Sé que un método no puede superar los 64 KB con Java. La limitación nos causa problemas con el código generado a partir de una gramática JavaCC . Tuvimos problemas con Java 6 y pudimos solucionarlo cambiando la gramática. ¿Se ha cambiado el límite para Java 7 o está previsto …
82 java  java-7  java-8 

5
¿Cómo usar el entero sin firmar en Java 8 y Java 9?
En la página "Tipos de datos primitivos" de Oracle , se menciona que Java 8 agrega soporte para entradas y longs sin firmar: int: De forma predeterminada, el inttipo de datos es un entero de complemento a dos con signo de 32 bits, que tiene un valor mínimo de −2 …
81 java  java-8  unsigned 



10
org.apache.tomcat.util.bcel.classfile.ClassFormatException: etiqueta de byte no válida en el grupo constante: 15
Estoy portando una aplicación web de Tomcat 7 a otro servidor con Tomcat 7 pero con Java 8. Tomcat se inicia correctamente pero en el registro catalina.outobtengo: org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 15 at org.apache.tomcat.util.bcel.classfile.Constant.readConstant(Constant.java:131) at org.apache.tomcat.util.bcel.classfile.ConstantPool.<init>(ConstantPool.java:60) at org.apache.tomcat.util.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:209) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:119) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2049) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1931) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1899) at …

3
¿Es una buena idea el almacenamiento en caché de referencias de métodos en Java 8?
Considere que tengo un código como el siguiente: class Foo { Y func(X x) {...} void doSomethingWithAFunc(Function<X,Y> f){...} void hotFunction(){ doSomethingWithAFunc(this::func); } } Supongamos que hotFunctionse llama muy a menudo. Entonces, ¿sería aconsejable almacenar en caché this::func, tal vez así: class Foo { Function<X,Y> f = this::func; ... void hotFunction(){ …

12
¿Cómo ejecutar la lógica en Opcional si no está presente?
Quiero reemplazar el siguiente código usando java8 Optional: public Obj getObjectFromDB() { Obj obj = dao.find(); if (obj != null) { obj.setAvailable(true); } else { logger.fatal("Object not available"); } return obj; } El siguiente pseudocódigo no funciona porque no hay un orElseRunmétodo, pero de todos modos ilustra mi propósito: public …
81 java  java-8  optional 


4
Java 8: fusionar listas con la API de transmisión
Tengo la siguiente situación Map<Key, ListContainer> map; public class ListContainer{ List<AClass> lst; } Tengo que fusionar todas las listas lstde los ListContainerobjetos de un Mapmapa. public static void main(String args[]){ List<AClass> alltheObjectsAClass = map.values().stream(). // continue.... } ¿Alguna idea de cómo usar la API de flujo de Java 8?

3
Verifique instanceof en la secuencia
Tengo la siguiente expresión: scheduleIntervalContainers.stream() .filter(sic -> ((ScheduleIntervalContainer) sic).getStartTime() != ((ScheduleIntervalContainer)sic).getEndTime()) .collect(Collectors.toList()); ... donde scheduleIntervalContainerstiene el tipo de elemento ScheduleContainer: final List<ScheduleContainer> scheduleIntervalContainers ¿Es posible comprobar el tipo antes del filtro?


4
Añadiendo nuevo valor a Stream existente
¿Existe una buena manera de agregar un nuevo valor a lo existente Stream? Todo lo que puedo imaginar es algo como esto: public <T> Stream<T> addToStream(Stream<T> stream, T elem ) { List<T> result = stream.collect(Collectors.toList()); result.add(elem); return result.stream(); } Pero estoy buscando algo más conciso que pueda usar en expresiones …
79 java  java-8  wildcard 

3
Capturando múltiples excepciones en Java-8
Al probar la función de captura múltiple que encontré en mi m1()método, todo funciona bien como se esperaba. Sin embargo, en m2()el mismo código no se compila. Acabo de cambiar la sintaxis para reducir la cantidad de líneas de código. public class Main { public int m1(boolean bool) { try …



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.