Sobes.tech
Junior — Middle

შეგვიძლია ანონიმური ფუნქცია შევინახოთ ცვლადში?

sobes.tech AI

პასუხი AI-სგან

დიახ, Android-ში (და Java/Kotlin-ში) შეუძლებელია ანონიმური ფუნქციების (ლამბდა გამოთქმების) შენახვა ცვლადებში. მაგალითად, Kotlin-ში, ანონიმური ფუნქცია არის ლამბდა და მას შეუძლია მიენიჭოს შესაბამის ფუნქციონალურ ტიპს ცვლადში:

val sum: (Int, Int) -> Int = { a, b -> a + b }
println(sum(3, 4)) // 7

Java-ში, ვერსია 8-დან, შესაძლებელია გამოიყენოთ ფუნქციონალური ინტერფეისები და ლამბდა გამოთქმები:

Function<Integer, Integer> square = x -> x * x;
System.out.println(square.apply(5)); // 25

ამიტომ, ანონიმური ფუნქციები შეიძლება შენახული იყოს ცვლადებში და გადაეცეს ობიექტებად.