6 Stimmen

Hinzufügen von Zeichenfolgen zu Listen - Java

        String t1 = request.getParameter("t1");
        String t2 = request.getParameter("t2");

        List terms = new ArrayList();
        for (int i = 1; i < 51; i++) {
            terms.add(t + i);
        }

Stellen Sie sich vor, ich hätte Variablen t1 bis t50. Ist es möglich, jedes t mit einem Zähler zu durchlaufen? Etwas Ähnliches wie oben, aber offensichtlich funktioniert das nicht.

12voto

highlycaffeinated Punkte 19529

Sie benötigen die temporären Variablen t1, t2 usw. nicht. Ansonsten waren Sie auf dem richtigen Weg.

    List terms = new ArrayList();
    for (int i = 1; i < 51; i++) {
        terms.add(request.getParameter("t" + i));
    }

5voto

Joachim Sauer Punkte 290477

Nein, in Java kannst du Variable Namen nicht so "konstruieren" (tatsächlich haben lokale Variablen zur Laufzeit nicht einmal Namen).

Du kannst jedoch die Variablen vollständig loswerden und getParameter() mit den entsprechenden Werten aufrufen:

  List terms = new ArrayList();
  for (int i = 1; i < 51; i++) {
      terms.add(request.getParameter("t" + i);
  }

5voto

jzd Punkte 23299

Statt aller temporären Einzelvariablen die Parameter in einer Schleife abrufen:

    List terms = new ArrayList();
    for (int i = 1; i < 51; i++) {
        terms.add(request.getParameter("t"+ i));
    }

3voto

wjans Punkte 9844

Kannst du das nicht machen?

for (int i = 1; i < 51; i++) {
    terms.add(request.getParameter("t" + i));
}

1voto

Bozho Punkte 570413
terms.add(request.getParameter("t" + i));

In deinem Code fügst du der Liste einen String hinzu, der eine nicht existierende Variable t konkateniert/mit i addiert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X