Video: Supersection 1, More Comfortable 2024
Noen ganger, hvis du åpner kode i Android Studio's editor og svever musen over bestemte ord, får du en interessant overraskelse. Android Studio forteller deg at du kan erstatte den anonyme indre klassen med et lambda-uttrykk.
Du kan opprette et lambda-uttrykk.Ok. Hva er et lambda-uttrykk? For det første er lambda et brev i det greske alfabetet, og uttrykket lambda uttrykk kommer fra papirer skrevet i 1930-tallet av matematiker Alonzo Church.
I løpet av 2013 lanserte Oracle Java 8, og la lambda-uttrykk til Java-språket. Og i 2016 gjorde Google 8 Java-funksjoner til Android-utviklere.
Hva er et lambda-uttrykk nøyaktig? Et lambda-uttrykk er en kortfattet måte å erklære et grensesnitt på som bare inneholder én metode. For eksempel kan en anonym
OnClickListener
bare ha én metode, nemlig
onClick
-metoden. Så du kan erstatte denne anonyme
OnClickListener
med et lambda-uttrykk.
Hvis du svarer på meldingen ved å trykke på Alt + Enter, tilbyr Android Studio deg et alternativ erstatt med Lambda. Hvis du godtar dette alternativet, endrer Android Studio koden din til disse tingene.
pakke com. allmycode. a11_05;
importer android. os. Bunt;
importer android. Brukerstøtte. v7. app. AppCompatActivity;
importer android. widget. Knapp;
importer android. widget. TextView;
offentlig klasse MainActivity utvider AppCompatActivity {
Button-knappen;
TextView textView;
@Override
beskyttet tomrommet påCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. Layout. Activity_main);
knapp = (knapp) findViewById (ID-knapp);
knapp. setOnClickListener (view -> textView. setText (R. streng. du_clicked) );
textView = (TextView) findViewById (R. Id. TextView);
}
}
Denne koden bruker et lambda-uttrykk. Bildet illustrerer overgangen fra en klasse som implementerer et en-metoden grensesnitt til et lambda-uttrykk.
Slå et grensesnitt inn i et lambda-uttrykk.Legg merke til den lette rollen i ordet
visning
. Når du erklærer en
onClick
-metode, gir du metoden en parameter av typen
Vis
, selv om setningene i metoden ikke bruker parameteren. På samme måte, når du lager et lambda-uttrykk for en
onClick
-metode, forordrer du
->
symbolet med et parameternavn, selv om du ikke bruker parameternavnet til til venstre for
->
symbolet.
For å kunne bruke lambda-uttrykk må du tilfredsstille visse krav. For eksempel må du kompilere koden din med Java 8 eller høyere. Android Studio-versjonen må være 2. 1 eller høyere. Og prosjektet ditt er
bygge. gradle
filen må inneholde følgende kode:
android {
…
defaultConfig {
…
jackOptions {
aktivert true
}
}
…
}
Et lambda-uttrykk kan ha mer enn én parameter til venstre for symbolet
->
. Hvis det gjør det, må du legge inn alle parametrene i parentes og skille parametrene fra hverandre med kommaer. For eksempel er uttrykket
(pris1, pris2) -> pris1 + pris2
er et gyldig lambda-uttrykk.
Hvis du er komfortabel med lambda-uttrykk, kan du gjøre koden mye mer lesbar. Det som startet som om ti linjer med kode kan lett bli bare en del av en linje.