Lambda Ausdruck: Welche Methode ist die Richtige?

GetIT

Mitglied
Hallo,

ich habe eine Frage zu Lambda-Ausdrücken. Im Buch "Java ist auch eine Insel" steht:
Java:
public static void main(String[] args) {
	String[] words = { "M", "\nSkyfall", "Q", "\t\tAdele\t" };
        /* FETT */
	Arrays.sort(words, (String s1, String s2) -> {
		return s1.trim().compareTo(s2.trim());
	});
        /* ende FETT */
	System.out.println(Arrays.toString(words));
}
"Der in fett gesetzte Ausdruck nennt sich Lambda Ausdruck. Er ist eine kompakte Art und Weise, Schnittstellen mit genau einer Methode zu implementieren; die Schnittstelle Comparator hat genau eine Operation compare(...)."

Das stimmt doch nicht. java.util.Comparator hat zwei abstrakte Methoden
- compare(...)
- equals(...)

Woher weiss ich jetzt - ohne das Probieren zu müssen - , dass ich die Methode compare(...) als Lamda-Ausdruck benutzen kann die Methode equals(...) aber nicht?

Java:
public static void main(String[] args) {
	boolean gleich = false;
	String s1 = "Test";
	String s2 = "Test";
	gleich = (String s1, String s2) -> {
		s1.equals(s2);
        }
}
Error: The target type of this expression must be a functional interface
 
Zuletzt bearbeitet:

Flown

Administrator
Mitarbeiter
Die equals-Methode wird in diesem Fall nicht als bereitgestellte Methode des Interface angesehen, sondern dann als spezielle Ableitung der equals-Methode der Mutterklasse Object.

Das heißt, die compare-Methode, ist die einzige, die in diesem Interface definiert worden ist.

PS: Der Lambda-Ausdruck ist nur:
Java:
(s1, s2) -> s1.trim().compareTo(s2.trim())
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Lambda Ausdruck mit Wildcard einschränken Java Basics - Anfänger-Themen 5
B Interface Java Lambda Ausdruck. Java Basics - Anfänger-Themen 11
M Lambda - Ausdruck zu Beschreibung erstellen Java Basics - Anfänger-Themen 7
D Lambda Filtern wie im SQL Java Basics - Anfänger-Themen 11
C Interface Parameter und Rückgabewerte in Lambda Ausdrücken verwenden Java Basics - Anfänger-Themen 16
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
X Collections.sort als Lambda Java Basics - Anfänger-Themen 14
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
I Lambda map -> Children bekommen Java Basics - Anfänger-Themen 1
L Java reduce() + Lambda Java Basics - Anfänger-Themen 10
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
G Java Lambda Ausdrücke Java Basics - Anfänger-Themen 19
M Java 8 Lambda Expression Java Basics - Anfänger-Themen 1
A Lambda Java Basics - Anfänger-Themen 9
A Lambda-Ausdrücke Java Basics - Anfänger-Themen 6
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
G Lambda Ausdrücke Java Basics - Anfänger-Themen 2
O Lambda Ausdrücke in einem Comparator Java Basics - Anfänger-Themen 4
S Lambda Ausdrücke Streams Java Basics - Anfänger-Themen 6
I Null-Überprüfung durch Lambda-Expressions abkürzen Java Basics - Anfänger-Themen 8
M Lambda - Ausdrücke verstehen Java Basics - Anfänger-Themen 2
K Lambda-Expression Java Basics - Anfänger-Themen 4
T Lambda-Funktion bei Binärbäumen Java Basics - Anfänger-Themen 13
K Lambda - kompliziertes filtern Java Basics - Anfänger-Themen 5
N Lambda Ausdrücke richtig schreiben Java Basics - Anfänger-Themen 4
F Methoden Lambda Ausdrücke Methodensignatur Java Basics - Anfänger-Themen 6
E Hilfe bei Lambda-Ausdrücken in BlueJ Java Basics - Anfänger-Themen 1
C Lambda Ausdrücke Java Basics - Anfänger-Themen 1
TheSorm Java 8 Lambda-Ausdrücke Java Basics - Anfänger-Themen 9
M Lambda Expressions Java Basics - Anfänger-Themen 3
W Reguläre Ausdruck Java Basics - Anfänger-Themen 6
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
K Warum zeigt dieser reguläre Ausdruck true an? Java Basics - Anfänger-Themen 1
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
KogoroMori21 Boolscher Ausdruck Java Basics - Anfänger-Themen 15
C Ausdruck Java Basics - Anfänger-Themen 4
E Boolescher Ausdruck Java Basics - Anfänger-Themen 1
M Regex-Ausdruck: Alle Zeichen bis auf ein bestimmtes erlauben (p{L}) Java Basics - Anfänger-Themen 5
G Warum ist hier ein Lamda-Ausdruck möglich Java Basics - Anfänger-Themen 2
F Ist das ein korrekter Regex-Ausdruck? Java Basics - Anfänger-Themen 12
B Regulärer Ausdruck Java Basics - Anfänger-Themen 12
G Boolschen Ausdruck true machen Java Basics - Anfänger-Themen 2
F Ausdruck wirft unerwarteten Error Java Basics - Anfänger-Themen 2
D Regulärer Ausdruck Java Basics - Anfänger-Themen 8
K Regulären Ausdruck in Java abbilden Java Basics - Anfänger-Themen 4
B Regulärer Ausdruck Java Basics - Anfänger-Themen 3
D Java Ausdruck erzeugen / Formular Java Basics - Anfänger-Themen 4
B Boolscher Ausdruck für mich unverständlich Java Basics - Anfänger-Themen 7
A regulären Ausdruck mit Hilfe der Klasse Scanner in einem String finden Java Basics - Anfänger-Themen 2
J Frage zu bestimmtem Ausdruck Java Basics - Anfänger-Themen 2
C Auswertung Ausdruck mit Punknotation + Objekt als Parameter Java Basics - Anfänger-Themen 3
M Arithemtischer Ausdruck unklar Java Basics - Anfänger-Themen 2
C Regulärer Ausdruck matched nicht Java Basics - Anfänger-Themen 2
A Lässt sich dieser Ausdruck irgendwie einfacher schreiben? Java Basics - Anfänger-Themen 4
H Regulären Ausdruck automatisch erstellen Java Basics - Anfänger-Themen 5
T Erste Schritte Im arithm. Ausdruck Zeichen trennen? Java Basics - Anfänger-Themen 13
D Boolescher Ausdruck - Problem Java Basics - Anfänger-Themen 6
B Regulärer Ausdruck gesucht Java Basics - Anfänger-Themen 6
M regulärer Ausdruck funktioniert nicht Java Basics - Anfänger-Themen 6
R Suche Regex Ausdruck für HTML Java Basics - Anfänger-Themen 11
E Hilfe bei einem Regulären Ausdruck Java Basics - Anfänger-Themen 7
X Regulärer Ausdruck für einen FileNameFilter Java Basics - Anfänger-Themen 2
S Einfaches Regulaerer Ausdruck Problem Java Basics - Anfänger-Themen 7
S regulärer Ausdruck HTML Java Basics - Anfänger-Themen 5
turmaline Ein regulärer Ausdruck für HTML-Sonderzeichen Java Basics - Anfänger-Themen 3
3 3. Element mit regulären Ausdruck suchen Java Basics - Anfänger-Themen 12
M regex-Ausdruck irgendein Buchstabe 1 mal Java Basics - Anfänger-Themen 8
S Was bedeutet dieser ausdruck? Java Basics - Anfänger-Themen 9
S String nach Ausdruck durchsuchen und Folgeattribut ausgeben Java Basics - Anfänger-Themen 3
H Ausdruck vereinfachen Java Basics - Anfänger-Themen 8
J Datentypen String splitten ohne festen Ausdruck Java Basics - Anfänger-Themen 8
H while schleife ohne ausdruck Java Basics - Anfänger-Themen 7
H Datei durchsuchen mit Regex-Ausdruck Java Basics - Anfänger-Themen 14
O Gibt es dafür einen regulären Ausdruck? Java Basics - Anfänger-Themen 9
B regulärer Ausdruck mit Metazeichen Java Basics - Anfänger-Themen 4
O RegEx-Ausdruck gesucht Java Basics - Anfänger-Themen 2
C bedingten ausdruck zu if-anweisung Java Basics - Anfänger-Themen 3
D regulärer Ausdruck: ^ $ Java Basics - Anfänger-Themen 6
O Mal wieder ein Regex-Ausdruck gesucht! Java Basics - Anfänger-Themen 5
F Regulärer Ausdruck warum false ? Java Basics - Anfänger-Themen 3
O Regulärer Ausdruck gesucht Java Basics - Anfänger-Themen 2
S Regulärer Ausdruck - alles was keine Zahl ist entfernen Java Basics - Anfänger-Themen 2
S regulärer ausdruck zum zählen eines wortes Java Basics - Anfänger-Themen 4
K Regulärer Ausdruck Java Basics - Anfänger-Themen 7
R Regulären Ausdruck geht nicht Java Basics - Anfänger-Themen 2
L Regulärer Ausdruck Java Basics - Anfänger-Themen 2
J Bitte um Erklärung für einen Java-Ausdruck Java Basics - Anfänger-Themen 8
M regulärer Ausdruck Java Basics - Anfänger-Themen 3
T Wie sieht ein '.' im regulären Ausdruck aus? Java Basics - Anfänger-Themen 2
G Wie erstellt man komplexen regulären Ausdruck Java Basics - Anfänger-Themen 5
G Boolscher Ausdruck Java Basics - Anfänger-Themen 11
R Reguläre Ausdruck definieren Java Basics - Anfänger-Themen 3
G Substrings in regulärem Ausdruck Java Basics - Anfänger-Themen 2
F Boolescher Ausdruck (String) in boolean konvertieren Java Basics - Anfänger-Themen 5
F Der "super" Ausdruck Java Basics - Anfänger-Themen 4
S Ausdruck zur Laufzeit auswerten Java Basics - Anfänger-Themen 10
G Was zum Teufel ist denn so ein Ausdruck"variabel : vari Java Basics - Anfänger-Themen 8
X Regulärer Ausdruck Java Basics - Anfänger-Themen 6
E regulärer Ausdruck -> wo ist der Fehler Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben