Java Util karşılaştırıcısı işlevsel bir arabirim midir?
Java Util karşılaştırıcısı işlevsel bir arabirim midir?

Video: Java Util karşılaştırıcısı işlevsel bir arabirim midir?

Video: Java Util karşılaştırıcısı işlevsel bir arabirim midir?
Video: Minecraft #Shorts: How do Redstone Comparators work? 2024, Nisan
Anonim

Tanıtım. NS karşılaştırıcı arayüzü koleksiyonlardaki nesneleri karşılaştırmak ve sıralamak olan özünü korurken Java8'de büyük bir revizyondan geçti. karşılaştırıcı artık lambda ifadeleri aracılığıyla bildirimleri destekliyor, çünkü bir Fonksiyonel Arayüz . İşte için basit bir kaynak kodu java.

Bununla ilgili olarak, karşılaştırıcı işlevsel bir arayüz mü?

Java'daki tüm nesneler, Object sınıfından miras aldıkları için, equals() yönteminin bir uygulamasına zaten sahiptir. Yani, karşılaştırıcı bir fonksiyonel arayüz çünkü uygulanmamış tek bir soyut yöntem vardır: karşılaştırma(T o1, T o2).

Bir karşılaştırıcı Java ne yapar diye de sorabilir. Java Karşılaştırıcı sıralama için bir arayüzdür Java nesneler. tarafından çağrılan java . karşılaştırıcı ,” Java Karşılaştırıcısı ikisini karşılaştırır Java nesneleri “karşılaştır (Nesne 01, Nesne 02)” formatında. Yapılandırılabilir yöntemler kullanmak, Java Karşılaştırıcı pozitif, eşit veya negatif karşılaştırmaya dayalı bir tamsayı döndürmek için nesneleri karşılaştırabilir.

Ek olarak, Java'da işlevsel arayüzün kullanımı nedir?

A fonksiyonel arayüz bir arayüz yalnızca bir soyut yöntem içeren. Sergilemek için yalnızca bir işlevselliğe sahip olabilirler. İtibaren Java 8'den itibaren, bir örneğini temsil etmek için lambda ifadeleri kullanılabilir. fonksiyonel arayüz . Runnable, ActionListener, Comparable örneklerinden bazılarıdır. işlevsel arayüzler.

Lambda sadece işlevsel arayüzler için mi?

Evet, lambda ifadeler kullanılabilir bir tek soyut yöntemi bir içinde uygulamak için fonksiyonel arayüz . Java nesne yönelimli bir dildir, oysa lambda ifadeler bir işlevsel özellik. eklemek için lambda Java'ya ifade desteği, Java 8 tanıtmaya karar verdi fonksiyonel arayüzler.

Önerilen: