Java 23 apresenta dois novos recursos de visualização: Declarações de importação de módulo (visualização) e Importação automática de módulo em classes declaradas implicitamente. Eles não devem ser usados no código de produção, pois ainda estão sujeitos a alterações.
1. Declarações de importação de módulo (visualização) - JEP 476
Com o lançamento do Java 23, agora podemos importar módulos completos em nosso código. Isso significa que podemos importar todas as classes dos pacotes exportados por aquele módulo.
Por exemplo, podemos importar o módulo java.base completo e usar classes como List, Set, Map e Collectors sem ter que fazer instruções de importação individuais para cada classe. Isso pode ser feito usando a sintaxe do "módulo de importação":
//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)))); } }
Observe que a classe de importação não precisa estar em um módulo para usar esta sintaxe.
Nomes de classes ambíguos podem surgir se houver duas classes importadas com o mesmo nome. Para resolver isso, precisamos especificar a classe desejada diretamente em uma instrução de importação.
Além disso, quando um módulo importa transitivamente outro módulo, podemos usar todas as classes nos pacotes exportados do módulo importado transitivamente sem quaisquer importações explícitas. Por exemplo, o módulo java.sql importa transitivamente o módulo java.xml, para que possamos usar classes de java.xml sem precisar importá-las explicitamente.
2. Importação automática de módulos em classes declaradas implicitamente
No Java 23, as classes declaradas implicitamente importarão automaticamente o módulo java.base completo.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3