Bir yöntemi bir değişkene kaydetmek mümkün mü?
MyFilter adlı bir sınıfım var ve farklı alanlardaki Öğeleri filtreler.
myFilter yapıcısı 2 şey sormalısınız:Bir yönteme bir değişkeni kaydetme, java 8
: dil ile
- String, örneğin filtre Öğeler, "ingilizce"
- Bu yöntem örneğin
olmalıdır Bir Öğeye sahibim ve dil == dizgesine verilen == String olup olmadığını kontrol etmek istiyorum
Bu yüzden o Öğenin dilini almam gerekiyor, Item.getLanguage() ...
Ayrıca Item.getTitle(), Item.getId() vb. Için buna da ihtiyacım var.
Bu lambda ile mümkün olduğunu düşünüyorum ama nasıl olduğunu bilmiyorum. Üstelik
x -> System.out.println(x).
kullanıcı yansıma yöntemini saklamak için olabilir ve önceki versiyonu için çalışmalarını olacak - lambda ifade eşdeğerdir
System.out::println
- Sen gibi yöntem başvuru kullanabilirsiniz
bakınız Java Yansıma: http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html (Yöntemler) ve http: // docs .oracle.com/javase/7/docs/api/java/lang/Class.html (Sınıflar) – Trinimon
evet öyle. tüm lambda'nın java'ları, karşılık gelen arayüzleri uygulayan gerçek iç sınıf örnekleridir. Bu arayüzü ilan edip lambda atarsın. – HuStmpHrrr
@HuStmpHrrr - lambdas ** işlevsel ** arayüz örnekleridir. –