Rumah >Java >javaTutorial >Mengapa Inferens Jenis Pembanding Java 8 Gagal Apabila Merangkai Kaedah `thenComparing`?

Mengapa Inferens Jenis Pembanding Java 8 Gagal Apabila Merangkai Kaedah `thenComparing`?

Susan Sarandon
Susan Sarandonasal
2024-11-27 11:19:10302semak imbas

Why Does Java 8 Comparator Type Inference Fail When Chaining `thenComparing` Methods?

Kekeliruan Inferens Jenis Pembanding Java 8

Apabila menggunakan kaedah statik Comparator, parameter jenis mungkin diabaikan dalam ungkapan lambda. Walau bagaimanapun, merantai kemudianMembandingkan kaedah boleh membawa kepada ralat penyusunan.

Memahami Isu

Apabila merantai kemudianMembandingkan kaedah, pengkompil kehilangan maklumat jenis tentang parameter lambda pertama (p1) . Ini kerana ungkapan lambda dalam kedudukan penerima kaedah tidak membuat kesimpulan jenis sensitif konteks.

Sebagai contoh, dalam panggilan berikut:

Collections.sort(playlist1,

Atas ialah kandungan terperinci Mengapa Inferens Jenis Pembanding Java 8 Gagal Apabila Merangkai Kaedah `thenComparing`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn