Video: Fun with Music and Programming by Connor Harris and Stephen Krewson 2025
Nogle gange, hvis du åbner kode i Android Studio's editor og svæver musen over bestemte ord, får du en interessant overraskelse. Android Studio fortæller dig, at du kan erstatte den anonyme indre klasse med et lambda-udtryk.
Du kan oprette et lambda-udtryk.Okay. Hvad er et lambda udtryk? For det første er lambda et bogstav i det græske alfabet, og udtrykket lambda udtryk stammer fra papirer skrevet i 1930'erne af matematiker Alonzo Church.
I løbet af 2013 frigjente Oracle Java 8 og tilføjede lambda-udtryk til Java-sproget. Og i 2016 lavede Google Java 8-funktioner til Android-udviklere.
Hvad er et lambda-udtryk nøjagtigt? Et lambda udtryk er en kortfattet måde at erklære en grænseflade på, der kun indeholder en metode. For eksempel kan en anonym
OnClickListener
kun have en metode, nemlig
onClick
-metoden. Så du kan erstatte denne anonyme
OnClickListener
med et lambda-udtryk.
Hvis du svarer på beskeden ved at trykke på Alt + Enter, tilbyder Android Studio dig en erstatning med Lambda-indstilling. Hvis du accepterer denne indstilling, ændrer Android Studio din kode til disse ting.
pakke com. allmycode. a11_05;
importer android. OS. Bundt;
importer android. support. v7. app. AppCompatActivity;
importer android. widget. Knap;
import android. widget. TextView;
offentlig klasse MainActivity udvider AppCompatActivity {
Knappen knap;
TextView textView;
@Override
beskyttet ugyldigt onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. Layout. Activity_main);
knap = (knap) findViewById (R. Id. Knap);
-knappen. setOnClickListener (view -> textView. setText (R. streng. du_clicked) );
textView = (TextView) findViewById (R. Id. TextView);
}
}
Denne kode bruger et lambda-udtryk. Billedet illustrerer overgangen fra en klasse, der implementerer en en-metode grænseflade til et lambda udtryk.
Drejer en grænseflade i et lambda udtryk.Bemærk den lette rolle af ordet
visning
. Når du erklærer en
onClick
-metode, giver du metoden en parameter af typen
Vis
, selvom de i sætningen indeholdte metoden ikke bruger denne parameter. På samme måde, når du opretter et lambda-udtryk for en
onClick
-metode, forordes
->
symbolet med et parameternavn, selvom du ikke bruger dette parameternavn til til venstre for
->
symbolet.
For at bruge lambda udtryk skal du opfylde visse krav. For eksempel skal du kompilere din kode med Java 8 eller højere. Din Android Studio-version skal være 2. 1 eller højere. Og dit projekt er
build. gradle
filen skal indeholde følgende kode:
android {
…
defaultConfig {
…
jackOptions {
aktiveret true
}
}
…
}
Et lambda udtryk kan have mere end en parameter til venstre for symbolet
->
. Hvis det gør det, skal du vedhæfte alle parametrene inden for parentes og adskille parametrene fra hinanden med kommaer. Eksempelvis er udtrykket
(pris1, pris2) -> pris1 + pris2
er et gyldigt lambda udtryk.
Hvis du er fortrolig med lambda-udtryk, kan du gøre din kode meget mere læsbar. Hvad der startede som om ti linjer med kode kan nemt blive kun en del af en linje.