Video: Packages in Java 2024
Manchmal, wenn Sie Code im Editor von Android Studio öffnen und die Maus über bestimmte Wörter bewegen, erhalten Sie eine interessante Überraschung. Android Studio teilt Ihnen mit, dass Sie die anonyme innere Klasse durch einen Lambda-Ausdruck ersetzen können.
Sie können einen Lambda-Ausdruck erstellen.Okay. Was ist ein Lambda-Ausdruck? Für den Anfang ist Lambda ein Buchstabe im griechischen Alphabet, und der Ausdruck Lambda-Ausdruck stammt aus Papieren, die in den 1930er Jahren von dem Mathematiker Alonzo Church geschrieben wurden.
Im Jahr 2013 veröffentlichte Oracle Java 8 und fügte der Java-Sprache Lambda-Ausdrücke hinzu. Im Jahr 2016 stellte Google Android-Entwicklern Funktionen für Java 8 zur Verfügung.
Was genau ist ein Lambda-Ausdruck? Ein Lambda-Ausdruck ist eine prägnante Art, eine Schnittstelle zu deklarieren, die nur eine Methode enthält. Beispielsweise kann ein anonymer
OnClickListener
nur eine Methode haben, nämlich die
onClick
-Methode. Sie können also diesen anonymen
OnClickListener
durch einen Lambda-Ausdruck ersetzen.
Wenn Sie auf die Nachricht antworten, indem Sie Alt + Eingabetaste drücken, bietet Ihnen Android Studio die Option "Mit Lambda ersetzen" an. Wenn Sie diese Option akzeptieren, verwandelt Android Studio Ihren Code in dieses Material.
Paket com. allmycode. a11_05;
Import Android. os. Bündeln;
Import Android. Unterstützung. v7. App. AppCompatAktivität;
Import Android. Widget. Taste;
Import Android. Widget. Textvorschau;
public class MainActivity erweitert AppCompatActivity {
Schaltfläche Schaltfläche;
TextView textView;
@Override
geschützt void onCreate (Bundle savedInstanceState) {
super. onCreate (gespeicherterInstanzStatus);
setContentView (R. layout. Activity_main);
button = (Schaltfläche) findViewById (R. ID. Taste);
-Taste. setOnClickListener (Ansicht -> textView. setText (R. string. you_clicked) );
textView = (TextView) findViewById (R. Id. TextView);
}
}
Dieser Code verwendet einen Lambda-Ausdruck. Das Bild veranschaulicht den Übergang von einer Klasse, die eine Ein-Methoden-Schnittstelle implementiert, in einen Lambda-Ausdruck.
Verwandelt eine Schnittstelle in einen Lambda-Ausdruck.Beachten Sie die einfache Rolle des Wortes
view
. Wenn Sie eine
onClick
-Methode deklarieren, geben Sie der Methode einen Parameter vom Typ
View
, auch wenn die Anweisungen in der Methode diesen Parameter nicht verwenden. Wenn Sie einen Lambda-Ausdruck für eine
onClick
-Methode erstellen, wird dem
->
-Symbol ein Parametername vorangestellt, auch wenn Sie diesen Parameternamen nicht verwenden. die linke Seite des
->
-Symbols.
Um Lambda-Ausdrücke verwenden zu können, müssen Sie bestimmte Voraussetzungen erfüllen. Zum Beispiel müssen Sie Ihren Code mit Java 8 oder höher kompilieren. Ihre Android Studio-Version muss 2. oder höher sein. Und der
Build Ihres Projekts. gradle
Datei muss den folgenden Code enthalten:
Android {
…
DefaultConfig {
…
jackOptions {
aktiviert true
}
}
…
}
Ein Lambda-Ausdruck kann mehr als einen Parameter auf der linken Seite des
->
-Symbols haben. Wenn dies der Fall ist, müssen Sie alle Parameter in Klammern setzen und die Parameter durch Kommas voneinander trennen. Der Ausdruck
(price1, price2) -> price1 + price2
ist ein gültiger Lambda-Ausdruck.
Wenn Sie mit Lambda-Ausdrücken vertraut sind, können Sie Ihren Code viel besser lesbar machen. Was als etwa zehn Zeilen Code begann, kann leicht nur Teil einer Zeile werden.