არის Java Util-ის შედარებითი ფუნქციური ინტერფეისი?
არის Java Util-ის შედარებითი ფუნქციური ინტერფეისი?

ვიდეო: არის Java Util-ის შედარებითი ფუნქციური ინტერფეისი?

ვიდეო: არის Java Util-ის შედარებითი ფუნქციური ინტერფეისი?
ვიდეო: #95 Comparator vs Comparable in Java 2024, აპრილი
Anonim

შესავალი. The შედარებითი ინტერფეისი გაიარა ძირითადი რემონტი Java8-ში, მაგრამ ჯერ კიდევ შეინარჩუნა მისი არსი, რომელიც არის კოლექციებში ობიექტების შედარება და დახარისხება. შემდარებელი ახლა მხარს უჭერს დეკლარაციებს ლამბდა გამონათქვამების საშუალებით, როგორც ეს არის ფუნქციური ინტერფეისი . აქ არის მარტივი წყარო კოდი ჯავა.

ამასთან დაკავშირებით, არის თუ არა შედარება ფუნქციური ინტერფეისი?

ჯავის ყველა ობიექტს უკვე აქვს equals() მეთოდის იმპლემენტაცია, რადგან ისინი მემკვიდრეობით იღებენ მას Object კლასიდან. Ისე, შემდარებელი არის ფუნქციური ინტერფეისი რადგან არსებობს მხოლოდ ერთი განუხორციელებელი აბსტრაქტული მეთოდი: შედარება (T o1, T o2).

შეიძლება ასევე იკითხოს, რას აკეთებს შედარებითი Java? Java Comparator არის დახარისხების ინტერფეისი ჯავა ობიექტები. მოწოდებული " ჯავა . შემდარებელი ,” Java Comparator ადარებს ორს ჯავა ობიექტები "შედარება (ობიექტი 01, ობიექტი 02)" ფორმატში. კონფიგურირებადი მეთოდების გამოყენებით, Java Comparator შეუძლია ობიექტების შედარება მთელი რიცხვის დასაბრუნებლად დადებითი, თანაბარი ან უარყოფითი შედარების საფუძველზე.

გარდა ამისა, რა არის ფუნქციური ინტერფეისის გამოყენება ჯავაში?

ა ფუნქციური ინტერფეისი არის ინტერფეისი რომელიც შეიცავს მხოლოდ ერთ აბსტრაქტულ მეთოდს. მათ შეუძლიათ მხოლოდ ერთი ფუნქციის გამოფენა. დან ჯავა 8 და შემდეგ, ლამბდა გამონათქვამები შეიძლება გამოყენებულ იქნას a-ს მაგალითზე ფუნქციური ინტერფეისი . Runnable, ActionListener, Comparable არის რამდენიმე მაგალითი ფუნქციონალური ინტერფეისები.

ლამბდა მხოლოდ ფუნქციური ინტერფეისებისთვისაა?

დიახ, ლამბდა გამონათქვამები შეიძლება გამოყენებულ იქნას მხოლოდ აბსტრაქტული მეთოდის დანერგვა ა ფუნქციური ინტერფეისი . ჯავა არის ობიექტზე ორიენტირებული ენა, მაშინ როცა ლამბდა გამონათქვამები არის ა ფუნქციონალური თვისება. დასამატებლად ლამბდა Java 8-ის გამოხატვის მხარდაჭერა გადაწყვიტა ფუნქციური ინტერფეისები.

გირჩევთ: