ServiceLoader.Iterator Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lazily lädt die verfügbaren Anbieter des Ladeladediensts.
[Android.Runtime.Register("iterator", "()Ljava/util/Iterator;", "")]
public Java.Util.IIterator? Iterator();
[<Android.Runtime.Register("iterator", "()Ljava/util/Iterator;", "")>]
abstract member Iterator : unit -> Java.Util.IIterator
override this.Iterator : unit -> Java.Util.IIterator
Gibt zurück
Ein Iterator, der Anbieter für den Dienst dieses Ladegeräts lazily lädt
Implementiert
- Attribute
Hinweise
Lazily lädt die verfügbaren Anbieter des Ladeladediensts.
Der von dieser Methode zurückgegebene Iterator liefert zunächst alle Elemente des Anbietercaches in Instanziierungsreihenfolge. Anschließend werden alle übrigen Anbieter lazily geladen und instanziiert, die jeweils einzeln zum Cache hinzugefügt werden.
Um Laziness zu erreichen, müssen die tatsächlichen Arbeit der Analyse der verfügbaren Anbieterkonfigurationsdateien und Instanziierungsanbieter vom Iterator selbst durchgeführt werden. Die java.util.Iterator#hasNext hasNext zugehörigen Methoden java.util.Iterator#next next können daher auslösen ServiceConfigurationError , wenn eine Anbieterkonfigurationsdatei gegen das angegebene Format verstößt oder eine Anbieterklasse benennt, die nicht gefunden und instanziiert werden kann, oder wenn das Ergebnis der Instanziierung der Klasse nicht dem Diensttyp zugewiesen werden kann oder wenn eine andere Art von Ausnahme oder Fehler ausgelöst wird, wenn der nächste Anbieter gefunden und instanziiert wird. Um robusten Code zu schreiben, ist es nur erforderlich, wenn ein Dienst iterator verwendet ServiceConfigurationError wird.
Wenn ein solcher Fehler ausgelöst wird, dann werden nachfolgende Aufrufe des Iterators am besten unternommen, um den nächsten verfügbaren Anbieter zu finden und zu instanziieren, aber im Allgemeinen kann diese Wiederherstellung nicht garantiert werden.
<blockquote style="font-size: kleiner; Linienhöhe: 1.2"><span style="padding-right: 1em; Schriftbreite: fett">Entwurfsnotiz</Spannweite> Auslösen eines Fehlers in diesen Fällen kann extrem erscheinen. Der Grund für dieses Verhalten besteht darin, dass eine falsch formatierte Anbieterkonfigurationsdatei, z. B. eine falsch formatierte Klassendatei, ein schwerwiegendes Problem mit der Art und Weise angibt, wie der virtuelle Java Computer konfiguriert oder verwendet wird. Daher empfiehlt es sich, einen Fehler auszuwerfen, anstatt zu versuchen, einen Fehler wiederherzustellen oder noch schlimmer, im Stillen zu scheitern.</blockquote>
Der von dieser Methode zurückgegebene Iterator unterstützt das Entfernen nicht. Das Aufrufen seiner java.util.Iterator#remove() remove Methode führt dazu, dass eine UnsupportedOperationException Wurfmethode ausgelöst wird.
Java Dokumentation für java.util.ServiceLoader.iterator().
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.