Java 23 presenta dos nuevas funciones de vista previa: declaraciones de importación de módulos (vista previa) e importación automática de módulos en clases declaradas implícitamente. Estos no deben usarse en el código de producción, ya que aún están sujetos a cambios.
1. Módulo Declaraciones de Importación (Vista previa) - JEP 476
Con el lanzamiento de Java 23, ahora podemos importar módulos completos en nuestro código. Esto significa que podemos importar todas las clases en los paquetes exportados por ese módulo.
Por ejemplo, podemos importar el módulo java.base completo y usar clases como List, Set, Map y Collectors sin tener que realizar declaraciones de importación individuales para cada clase. Esto se puede hacer usando la sintaxis del "módulo de importación":
//Old style: import java.util.Map; // or import java.util.*; import java.util.function.Function; // or import java.util.function.*; import java.util.stream.Collectors; // or import java.util.stream.*; import java.util.stream.Stream; // (can be removed)
//New Style: import module java.base; public class MyExamCloud { public static Map> groupByFirstLetter(String...values) { return Stream.of(values).collect( Collectors.groupingBy(s -> Character.toUpperCase(s.charAt(0)))); } }
Tenga en cuenta que no es necesario que la clase importadora esté en un módulo para usar esta sintaxis.
Pueden surgir nombres de clases ambiguos si hay dos clases importadas con el mismo nombre. Para resolver esto, necesitamos especificar la clase deseada directamente en una declaración de importación.
Además, cuando un módulo importa transitivamente otro módulo, podemos usar todas las clases en los paquetes exportados del módulo importado transitivamente sin ninguna importación explícita. Por ejemplo, el módulo java.sql importa transitivamente el módulo java.xml, por lo que podemos usar clases de java.xml sin necesidad de importarlas explícitamente.
2. Importación automática de módulos en clases declaradas implícitamente
En Java 23, las clases declaradas implícitamente importarán automáticamente el módulo java.base completo.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3