Java was bedeutet Setting . . . settings?


20.08.2020, 15:46

Es geht mir darum, was diese drei Punkte machen.

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Es handelt sich in diesem Fall um varargs (variable arguments).

Ein Beispiel:

static int getSum(int ...numbers) {
  int sum = 0;

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

  return sum;
}

// main:
int sum1 = getSum(1, 2, 3, 4);
int sum2 = getSum(7, 12);
int sum3 = getSum(5, 3, 4, 2, 2, 6, 7);

Die drei Punkte-Syntax gibt an, dass an dieser Stelle eine variable Anzahl an Argumenten (des gegebenen Typs) übergeben werden kann. Diese werden in ein Array gesetzt (numbers oben ist also ein Array).

Noch eine Ergänzung, weil der Fragesteller gesagt hat, dass "settings" eine Liste ist:

Bei Varargs kann man sich aussuchen, ob man einzelne Werte mit Komma getrennt angibt, oder ob man sie als Array übergibt.

int sum1 = getSum(1, 2, 3, 4)

könnte man also auch ersetzen durch:

int[] intArray = {1, 2, 3, 4};
int sum1 = getSum(intArray);

Wenn du also eine "List<Setting> settings" hast und sie einer Methode "void setSettings(Setting... settings)" übergeben willst, musst du die Liste in ein Array umwandeln.

setSettings(settings.toArray(new Setting[0]));
3

Der Aufrufer kann ein Array von Setting-Objekten als kommaseparierte Liste von Methodenparameter angeben. Die Konvertierung in ein Array passiert transparent.

Settings Bedeutet Einstellungen auf Englisch.

Musst dir die Klasse wohl ansehen um zu sehen was sie tut.

Das kommt wohl auf den Code an, würde ich behaupten.

Die "Setting" Klasse gibt es nativ in Java nicht.

Woher ich das weiß:Hobby – Langjährige Programmiererfahrung

Hey,

so wie du es schreibst, ist Settings eine Klasse. Aus welchem Paket wird diese denn importiert?

Woher ich das weiß:Hobby – Mehrere Online-Kurse, das Buch "Java ist auch eine Insel"

Was möchtest Du wissen?