Czy komparator Java Util to funkcjonalny interfejs?
Czy komparator Java Util to funkcjonalny interfejs?

Wideo: Czy komparator Java Util to funkcjonalny interfejs?

Wideo: Czy komparator Java Util to funkcjonalny interfejs?
Wideo: #95 Comparator vs Comparable in Java 2024, Kwiecień
Anonim

Wstęp. ten interfejs komparatora przeszła gruntowną przebudowę w Javie8, zachowując jednocześnie swoją istotę, którą jest porównywanie i sortowanie obiektów w kolekcjach. Komparator teraz obsługuje deklaracje za pomocą wyrażeń lambda, ponieważ jest to a Interfejs funkcjonalny . Oto prosty kod źródłowy dla Jawa.

W związku z tym komparator jest funkcjonalnym interfejsem?

Wszystkie obiekty w Javie mają już implementację metody equals(), ponieważ dziedziczą ją z klasy Object. Więc, Komparator jest funkcjonalny interfejs ponieważ istnieje tylko jedna niezaimplementowana metoda abstrakcyjna: Compare(T o1, T o2).

Można też zapytać, co komparator robi w Javie? Komparator Javy to interfejs do sortowania Jawa przedmioty. Wywołane przez „ Jawa . komparator ,” Komparator Javy porównuje dwa Jawa obiekty w formacie „porównaj (obiekt 01, obiekt 02)”. Korzystanie z konfigurowalnych metod, Komparator Javy może porównywać obiekty, aby zwrócić liczbę całkowitą na podstawie porównania dodatniego, równego lub ujemnego.

Dodatkowo, do czego służy interfejs funkcjonalny w Javie?

A funkcjonalny interfejs jest berło który zawiera tylko jedną metodę abstrakcyjną. Mogą mieć tylko jedną funkcjonalność do zaprezentowania. Z Jawa od 8, wyrażenia lambda mogą być użyte do reprezentowania instancji a funkcjonalny interfejs . Runnable, ActionListener, Comparable to tylko niektóre z przykładów funkcjonalny interfejsy.

Czy Lambda jest tylko dla funkcjonalnych interfejsów?

Tak, lambda można używać wyrażeń tylko zaimplementować metodę abstrakcyjną w ramach a funkcjonalny interfejs . Java jest językiem zorientowanym obiektowo, podczas gdy lambda wyrażenia są funkcjonalny funkcja. Aby dodać lambda obsługa wyrażeń w Javie, wprowadzono Javę 8 funkcjonalne interfejsy.

Zalecana: