Android Studio - Java (Przekazywanie Funkcji w Funkcji )

Android Studio - Java (Przekazywanie Funkcji w Funkcji )
P7
  • Rejestracja:ponad 7 lat
  • Ostatnio:ponad 2 lata
  • Postów:9
0

Cześć, Mam pytanie bo nie mogę nigdzie znaleźć rozwiązania . Czy można jakoś przekazać funkcjĘ dynamicznie do innej funkcji i zwrucenie ZWRÓCENIE tej funkcji z parametrem np.

Kopiuj
function a(String a){ return a;} 
function b (Function func){  String a = 'test'; return func(a);}
b(a);
edytowany 1x, ostatnio: cerrato
ZD
  • Rejestracja:około 3 lata
  • Ostatnio:ponad rok
  • Postów:2310
0
  1. Funkcję "przerobić" na samodzielną klasę, i obiekt tej klasy podać gdzie trzeba. Czysto OOP, bez lambd. Takim wzorcem jest strategia, wizytator i inne.

  2. lamdbę

  3. https://mkyong.com/java8/java-8-function-examples/

Osobiście ciekaw jestem, co do tej pory wkładałeś w słowo 'function' - wiec w jakimś sensie strzelamy, nie wiem czy zrozumiałem twój POV


If you put a million monkeys at a million keyboards, one of them will eventually write a Java program - the rest of them will write Perl
edytowany 1x, ostatnio: ZrobieDobrze
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0
  1. Co to niby jest za język?
  2. Musisz mieć funktor - obiekt który ma w sobie funkcje którą chcesz zawołać i taki obiekt możesz gdzieś przekazać. Java 8 ma do tego trochę lukru składniowego i kilka standardowych interfejsów (Supplier, Function, BiFunction) ale generalnie nie ma tam żadnej magii. Dla Javy w niższej wersji można w tym celu użyc jakiegoś Callable<T>, czyli niech twoja funkcja przyjmuje jako argument Callable<T> które robi co tam chcesz.

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.