Void … params Bedeutung in Java-Funktionsdeklaration

Ich habe vor kurzem ein Java-Snippet gefunden. Die Funktionsdefinitionen haben ein anderes Format als das, was ich bis jetzt kenne. Im Folgenden sind die Codes –

protected Void doInBackground(String... params) { Log.i(TAG, "doInBackground"); //Invoke web method 'PopulateCountries' with dummy value invokeJSONWS("dummy","PopulateCountries"); return null; } 

Und eine ähnliche Funktion mit ... im Parameter

  • Was macht der Befehl "Fix Project Properties" genau?
  • Eclipse ADT-Update funktioniert nicht
  • Was ist "android: allowBackup"?
  • Android-Eclipse-Problem Fehler beim Erstellen der BuildConfig-Klasse
  • Die erforderliche ADT-Versionsnummer konnte nicht ausgegeben werden
  • Eclipse Android Emulator startet nicht
  •  protected void onProgressUpdate(Void... values) { Log.i(TAG, "onProgressUpdate"); } 

    Was bedeutet ... im folgenden Kontext.

    Danke im Voraus!

  • Xperia Z Emulator
  • Synchronisierung der mobilen App auf Android Wear
  • Ionic 2: Führen Sie einen Hintergrunddienst mit Cordova aus
  • Erstellen Sie GPX-Datei aus GeoPoints
  • Wie bekomme ich eine eindeutige Geräte-Hardware-ID in Android?
  • Stand-alone-Testprojekt für ein Bibliotheksprojekt auf Android
  • 6 Solutions collect form web for “Void … params Bedeutung in Java-Funktionsdeklaration”

    Android AsyncTask ist ein generischer Typ.

    Wenn du eine asynchrone Aufgabe benötigst, die keinen Sinn für Fortschrittsdaten hat, solltest du es als MyTask extends AsyncTask<Something, Void, Something> deklarieren MyTask extends AsyncTask<Something, Void, Something> mit der Klasse Void als Spezifikation der Progress Variable und nach üblichen generischen Regeln, Wenn du dich entscheidest, auf onProgressUpdate zu überschreiben, onProgressUpdate du es als onProgressUpdate(Void... values) deklarieren.

    Also Void... bedeutet nichts anderes als die übliche Vararg-Methode, deren Typ passiert ist.

    Was bedeutet … im folgenden Kontext.

    Dies gibt das Argument mit variabler Länge an, wenn Sie Methode mit den Parametern des Typs String anrufen möchten, aber Sie wissen nicht, wie viele Parameter Sie übergeben möchten, können Sie dies verwenden.

    Wie Sie eine beliebige Anzahl von String auf Methode übergeben können.

    So können Sie Methode wie diese Weisen anrufen.

    zum

     public void met(String...a) 

    Sie können diese Methode anrufen

     ob.met() ob.met("a") ob.met("a","b") 

    und so weiter.

    Sie können mehr darüber lesen HIER.

    Es nannte varargs , und es bedeutet eine beliebige Anzahl von Parametern des gleichen Typs. Sie können auf eine Index-Basis zugreifen, wie ein Array.

     type ... variableName 

    Die ellipsis (...) identifiziert eine variable Anzahl von Argumenten und wird in der folgenden Summationsmethode demonstriert.

     static int sum (int ... numbers) { int total = 0; for (int i = 0; i < numbers.length; i++) total += numbers [i]; return total; } 

    Es gibt optionale Parameter mit Java 5.0. Erklären Sie einfach Ihre Funktion wie folgt:

     public void doSomething(boolean...optionalFlag) { ... } 

    Du könntest mit doSomething() oder doSomething(true) jetzt anrufen.

    Dies ist "neu" in Java 1.5 und darüber hinaus (nicht unterstützt in Java 1.4 oder früher).

    Es sind Argumente mit variabler Länge

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.