


Mengapakah `Comparator.reversed()` Gagal dengan Ungkapan Lambda dalam Pengisihan Java?
Mengapa Comparator.reversed() Gagal dengan Lambdas
Apabila mengisih senarai objek Pengguna menggunakan Comparator.comparing dengan ungkapan lambda, ralat mungkin berlaku:
userList.sort(Comparator.comparing(u -> u.getName()).reversed()); // Compiler error
Ini disebabkan oleh pengehadan dalam pengkompil jenis mekanisme inferens. Pengkompil bergelut untuk menentukan jenis argumen lambda 'u'.
Dalam contoh berikut, menggunakan rujukan kaedah membolehkan pengkompil membuat kesimpulan jenis sasaran dan mengelakkan ralat:
userList.sort(Comparator.comparing(User::getName).reversed()); // works
Rujukan kaedah menyediakan maklumat jenis tambahan, yang digunakan oleh pengkompil untuk membuat kesimpulan jenis 'u' sebagai Pengguna.
Untuk mengelakkan ralat semasa menggunakan a lambda, anda boleh menyatakan secara eksplisit jenis hujah lambda:
userList.sort(Comparator.comparing((User u) -> u.getName()).reversed());
Dalam keluaran pengkompil akan datang, isu ini mungkin ditangani dan ralat mungkin tidak berlaku lagi.
Atas ialah kandungan terperinci Mengapakah `Comparator.reversed()` Gagal dengan Ungkapan Lambda dalam Pengisihan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa