suchen
HeimJavajavaLernprogrammWarum schlägt „Comparator.reversed()' mit Lambda-Ausdrücken in der Java-Sortierung fehl?

Why Does `Comparator.reversed()` Fail with Lambda Expressions in Java Sorting?

Warum Comparator.reversed() mit Lambdas fehlschlägt

Beim Sortieren einer Liste von Benutzerobjekten mithilfe von Comparator.comparing mit einem Lambda-Ausdruck, an Es kann ein Fehler auftreten:

userList.sort(Comparator.comparing(u -> u.getName()).reversed()); // Compiler error

Dies ist auf eine Einschränkung im Typinferenzmechanismus des Compilers zurückzuführen. Der Compiler hat Schwierigkeiten, den Typ des Lambda-Arguments „u“ zu bestimmen.

Im folgenden Beispiel ermöglicht die Verwendung einer Methodenreferenz dem Compiler, den Zieltyp abzuleiten und den Fehler zu vermeiden:

userList.sort(Comparator.comparing(User::getName).reversed()); // works

Die Methodenreferenz stellt zusätzliche Typinformationen bereit, die der Compiler verwendet, um auf den Typ von „u“ als Benutzer zu schließen.

Um den Fehler bei der Verwendung eines Lambda zu vermeiden, können Sie Folgendes tun Geben Sie explizit den Typ des Lambda-Arguments an:

userList.sort(Comparator.comparing((User u) -> u.getName()).reversed());

In zukünftigen Compiler-Versionen wird dieses Problem möglicherweise behoben und der Fehler tritt möglicherweise nicht mehr auf.

Das obige ist der detaillierte Inhalt vonWarum schlägt „Comparator.reversed()' mit Lambda-Ausdrücken in der Java-Sortierung fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)