1. Kaedah alat statik
Collections.sort menerima senarai dan antara muka Comparator sebagai parameter input Kelas pelaksanaan Comparator boleh membandingkan elemen dalam senarai input. Biasanya, anda boleh mencipta objek Comparator tanpa nama secara langsung dan menyerahkannya sebagai parameter kepada kaedah isihan.
List<String> names = Arrays.asList("peter", "anna", "mike", "xenia"); Collections.sort(names, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); } });
2. Ungkapan Lambda
Collections.sort(names, (String a, String b) -> { return b.compareTo(a); });
Seperti yang anda lihat, kod ini lebih pendek dan lebih mudah dibaca daripada yang sebelumnya. Walau bagaimanapun, ia boleh menjadi lebih pendek:
Collections.sort(names, (String a, String b) -> b.compareTo(a));
Hanya satu baris kod, termasuk badan kaedah. Anda juga boleh meninggalkan pendakap {} dan kata kunci pulangan. Tetapi ini bukan cara terpendek untuk menulisnya:
Collections.sort(names, (a, b) -> b.compareTo(a));
Pengkompil Java secara automatik boleh mengenal pasti jenis parameter, jadi anda boleh meninggalkan jenis itu.
Atas ialah kandungan terperinci Apakah dua cara untuk mencipta objek tanpa nama dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!