Lambda "invalid method reference no suitable method found"

minos5000

Aktives Mitglied
Hi,

bei dem Versuch mich mehr mit Lambdas zu beschäftigen bin ich in einem Tutorial auf folgenden Codeschnippsel gestolpert
Code:
    public static void main(String[] args) {
        Optional stringOptional = Optional.of("loooooooong string");
        Optional sizeOptional = stringOptional.map(String::length);
        System.out.println("size of string " + sizeOptional.orElse(0));
    }

Allerdings meckert Netbeans über den Ausdruck "String:length" mit der im Titel angegebenen Meldung.

Kann mir jemand erklären, was hier den Fehler verursacht?

Grüße
minos
 

Madlip

Bekanntes Mitglied
Hi Minos,

dem Compiler fehlt die Typisierung der Variablen
Code:
stringOptional
und
Code:
sizeOptional

Ohne diese Typisierung ist für dem Compiler alles vom Typ Object. Und Object hat keine Methode length.

Änder das ganze einfach folgendermaßen ab, dann wird es wie gewünscht funktionieren.

Code:
public static void main(String[] args) {
        Optional<String> stringOptional = Optional.of("loooooooong string");
        Optional<Integer> sizeOptional = stringOptional.map(String::length);
        System.out.println("size of string " + sizeOptional.orElse(0));
    }
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Neumi5694 Lambda - Block vs "Anweisungsliste" Allgemeine Java-Themen 8
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
A Lambda-Ausdrücke Allgemeine Java-Themen 5
A Lambda und Streams verstehen Allgemeine Java-Themen 4
O Best Practice Lambda Expressions Allgemeine Java-Themen 3
Rudolf Compiler-Fehler Lambda als Argument kompiliert nicht Allgemeine Java-Themen 2
E Lambda filter performance Allgemeine Java-Themen 2
H Collector Generics Problem (incl. Stream & Lambda) Allgemeine Java-Themen 4
H Consumer (Java8 Lambda) an Timer übergeben Allgemeine Java-Themen 2
S Lambda Ausdrücke: @FunctionalInterface Instanzen auf null prüfen Allgemeine Java-Themen 9
J Interpreter-Fehler Fehler beim Verschlüsseln Invalid AES key length Allgemeine Java-Themen 1
T JNA: Invalid sizeof type 4 Allgemeine Java-Themen 0
D Invalid Method declaration Allgemeine Java-Themen 5
S Invalid Chunk Exception Allgemeine Java-Themen 3
P JavaDoc und Backslashes: "Invalid unicode" Allgemeine Java-Themen 3
R VM-Error - BadWindow (invalid Window parameter) Allgemeine Java-Themen 4
K class invalid for deserialization Allgemeine Java-Themen 2
X sax parse exception invalid XML character Allgemeine Java-Themen 4
B Invalid escape sequenze Allgemeine Java-Themen 17
T PDF drucken: "invalid flavor" Allgemeine Java-Themen 8
F Invalid or Corrupt Jarfile! Allgemeine Java-Themen 3
K Cipherproblem: Invalid key length Allgemeine Java-Themen 7
M javax.mail – Sending failed – Invalid Addresses Allgemeine Java-Themen 8
mrStudent The method append is not applicable for the arguments (Queue<Integer>, Queue<Integer>) Allgemeine Java-Themen 4
J Final Method Allgemeine Java-Themen 9
R Delete files before creating new from temp using Java file method Allgemeine Java-Themen 1
J Reflection-Method Hook? Allgemeine Java-Themen 14
B Exception in Application init method Allgemeine Java-Themen 5
Thallius JSONArray - the method length() is undefined for JSONArray Allgemeine Java-Themen 4
N Per Reflection auf (method) local inner class zugreifen? Allgemeine Java-Themen 3
C Method Area, Stack, Heap Allgemeine Java-Themen 7
R Stop a method??? Allgemeine Java-Themen 34
R Merkwürdiges Verhalten der equals Method Allgemeine Java-Themen 4
N Method-Annotations in aufgerufener Methode auswerten Allgemeine Java-Themen 2
I Template Method pattern mit "geschützten Methoden" Allgemeine Java-Themen 5
X Cannot refer to a non-final variable settings inside an inner class defined in a different method Allgemeine Java-Themen 4
G JavaDoc: Spezielle Beschreibung nur in Method Detail Allgemeine Java-Themen 5
faetzminator IllegalArgumentException bei Method.invoke() Allgemeine Java-Themen 6
R Fehler:method does not override a method from its superclass Allgemeine Java-Themen 3
G javax.jms.IllegalStateException: This method. Allgemeine Java-Themen 4
K Bound mismatch: The generic method sort(List<T>) of ty Allgemeine Java-Themen 4
G Taushen der Input variablen einer method Allgemeine Java-Themen 14
R The mark method of InputStream does nothing. Allgemeine Java-Themen 4
J httpclient: Post-method aber trotzdem "URI to long&quot Allgemeine Java-Themen 4
G Error: Hashtable Type safety: The method put(Object, Object) Allgemeine Java-Themen 6
J Method.invoke -> Exceptions der Funktion abfangen Allgemeine Java-Themen 5
padde479 The static method sleep(long) from the type Thread should. Allgemeine Java-Themen 2
C Code of a method longer than 65535 bytes Allgemeine Java-Themen 3
K The method clone() from the type Object is not visible. Allgemeine Java-Themen 9
O Pointer/reference on method Allgemeine Java-Themen 10

Ähnliche Java Themen

Neue Themen


Oben