Maison  >  Article  >  Java  >  Fonctionnalité d'importation de modules Java

Fonctionnalité d'importation de modules Java

DDD
DDDoriginal
2024-10-05 06:12:30630parcourir

Java  Module Import Feature

Java 23 introduit deux nouvelles fonctionnalités en avant-première : les déclarations d'importation de modules (aperçu) et l'importation automatique de modules dans les classes implicitement déclarées. Ceux-ci ne doivent pas être utilisés dans le code de production, car ils sont encore susceptibles de changer.

1. Module Déclarations d'importation (Aperçu) - JEP 476
Avec la sortie de Java 23, nous pouvons désormais importer des modules complets dans notre code. Cela signifie que nous pouvons importer toutes les classes des packages exportés par ce module.

Par exemple, nous pouvons importer le module java.base complet et utiliser des classes telles que List, Set, Map et Collectors sans avoir à faire d'instructions d'importation individuelles pour chaque classe. Cela peut être fait en utilisant la syntaxe "import module":


//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<Character, List<String>> groupByFirstLetter(String...values) {
    return Stream.of(values).collect(
      Collectors.groupingBy(s -> Character.toUpperCase(s.charAt(0))));
  }

}


Notez que la classe importatrice n'a pas besoin d'être dans un module pour utiliser cette syntaxe.

Des noms de classe ambigus peuvent survenir s'il existe deux classes importées portant le même nom. Pour résoudre ce problème, nous devons spécifier la classe souhaitée directement dans une instruction d'importation.

De plus, lorsqu'un module importe transitivement un autre module, nous pouvons utiliser toutes les classes des packages exportés du module importé transitivement sans aucune importation explicite. Par exemple, le module java.sql importe de manière transitive le module java.xml, afin que nous puissions utiliser les classes de java.xml sans avoir besoin de les importer explicitement.

2. Importation automatique de modules dans les classes implicitement déclarées
Dans Java 23, les classes implicitement déclarées importeront automatiquement le module java.base complet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn