Video: C# - Lambda Expression 2024
Soms krijg je een interessante verrassing als je de code in de editor van Android Studio opent en met de muis over bepaalde woorden beweegt. Android Studio vertelt u dat u de anonieme innerlijke klasse kunt vervangen door een lambda-uitdrukking.
Je kunt een lambda-expressie maken.Okay. Wat is een lambda-uitdrukking? Om te beginnen is lambda een letter in het Griekse alfabet, en de term lambda-uitdrukking komt uit artikelen die in de jaren 1930 geschreven zijn door wiskundige Alonzo Church.
In 2013 bracht Oracle Java 8 uit, met toevoeging van lambda-expressies aan de Java-taal. En in 2016 stelde Google de Java 8-functies beschikbaar voor Android-ontwikkelaars.
Wat is een lambda-uitdrukking precies? Een lambda-expressie is een beknopte manier om een interface te declareren die slechts één methode bevat. Een anonieme
OnClickListener
kan bijvoorbeeld slechts één methode hebben, namelijk de
onClick
-methode. U kunt deze anonieme
OnClickListener
vervangen door een lambda-uitdrukking.
Als u reageert op het bericht door op Alt + Enter te drukken, biedt Android Studio u de optie Vervangen door Lambda. Als u deze optie accepteert, verandert Android Studio uw code in dit soort dingen.
pakket com. allmycode. a11_05;
importeer android. os. Bundel;
importeer android. ondersteuning. v7. app. AppCompatActivity;
importeer android. widget. Knop;
importeer android. widget. Tekstweergave;
openbare klasse MainActivity breidt AppCompatActivity uit {
Knop knop;
TextView-tekstView;
@Override
beschermde ongeldig onCreate (bundel savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (r.lay-out.activiteit_hoofd);
knop = (Knop) findViewById (knop R id);
knop. setOnClickListener (weergave -> tekstView. setText (R. tekenreeks u_geklikt) );
textView = (TextView) findViewById (R. Id. TextView);
}
}
Deze code gebruikt een lambda-uitdrukking. De afbeelding illustreert de overgang van een klasse die een interface met één methode implementeert naar een lambda-uitdrukking.
Een interface omzetten in een lambda-uitdrukking.Let op de lichtgewichtfunctie van het woord
weergave
. Wanneer u een
onClick
-methode declareert, geeft u de methode een parameter van het type
View
, zelfs als de instructies in de methode die parameter niet gebruiken. Op dezelfde manier, wanneer u een lambda-uitdrukking voor een
onClick
-methode maakt, geeft u het
->
-symbool voor met een parameternaam, zelfs als u die parameternaam niet gebruikt om links van het
->
-symbool.
Om lambda-expressies te gebruiken, moet u aan bepaalde vereisten voldoen. U moet bijvoorbeeld uw code compileren met Java 8 of hoger. Uw Android Studio-versie moet 2. 1 of hoger zijn. En de build
van uw project. bestand
moet de volgende code bevatten:
android {
…
defaultConfig {
…
jackOptions {
ingeschakeld true
}
}
…
}
Een lambda-uitdrukking kan meer dan één parameter links van het
->
-symbool hebben. Als dit het geval is, moet u alle parameters tussen haakjes voegen en de parameters van elkaar scheiden met komma's. De uitdrukking
(prijs1, prijs2) -> prijs1 + prijs2
is een geldige lambda-uitdrukking.
Als u tevreden bent met lambda-expressies, kunt u uw code leesbaarder maken. Wat begon als ongeveer tien regels code kan gemakkelijk maar een deel van een regel worden.