Java 23 memperkenalkan dua ciri pratonton baharu: Pengisytiharan Import Modul (Pratonton) dan Import Modul Automatik dalam Kelas yang Diisytiharkan Secara Tersirat. Ini tidak boleh digunakan dalam kod pengeluaran, kerana ia masih tertakluk kepada perubahan.
1. Pengisytiharan Import Modul (Pratonton) - JEP 476
Dengan keluaran Java 23, kami kini boleh mengimport modul lengkap dalam kod kami. Ini bermakna kita boleh mengimport semua kelas dalam pakej yang dieksport oleh modul tersebut.
Sebagai contoh, kita boleh mengimport modul java.base yang lengkap dan menggunakan kelas seperti Senarai, Set, Peta dan Pengumpul tanpa perlu membuat penyata import individu untuk setiap kelas. Ini boleh dilakukan dengan menggunakan sintaks "modul import":
//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)))); } }
Perhatikan bahawa kelas pengimport tidak perlu berada dalam modul untuk menggunakan sintaks ini.
Nama kelas yang tidak jelas mungkin timbul jika terdapat dua kelas yang diimport dengan nama yang sama. Untuk menyelesaikan masalah ini, kita perlu menentukan kelas yang diingini secara langsung dalam pernyataan import.
Selain itu, apabila satu modul secara transitif mengimport modul lain, kami boleh menggunakan semua kelas dalam pakej eksport modul yang diimport secara transitif tanpa sebarang import eksplisit. Contohnya, modul java.sql mengimport modul java.xml secara transitif, jadi kami boleh menggunakan kelas daripada java.xml tanpa perlu mengimportnya secara eksplisit.
2. Import Modul Automatik dalam Kelas yang Diisytiharkan Secara Tersirat
Dalam Java 23, kelas yang diisytiharkan secara tersirat akan mengimport modul java.base lengkap secara automatik.
Atas ialah kandungan terperinci Ciri Import Modul Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!