00 Stimmen

Java: Integer aus String oder Default Integer als Result

Frage von Gast | 31.07.2016 um 20:32

Ich würde gerne in Java einen Integer-Wert, der mir als Nutzereingabe im String-Format vorliegt aus eben diesem String extrahieren so dass er mir als Integer zur Verfügung steht.

Da ich nicht absolut sicher gehen kann, ob der Nutzer tatsächlich einen richtigen Zahlenwert eingegeben hat, hätte ich gerne eine Funktion, die folgendes tut: Wenn der übergebene String eine korrekte Zahl ist, möchte ich diese als Integer bekommen. Ansonsten einen angegeben Default-Wert. Gibt es eine solche Funktion?

AntwortenPositivNegativ
0Beste Antwort0 Stimmen

So eine Funktion ist natürlich recht schnell geschrieben und könnte folgendermaßen aussehen (der erste Parameter ist der String, der zweite der Default-Integer):

public static int parseIntOrDefault(String value, int defaultValue) {
  int result = defaultValue;
  string s = StringUtils.trim(value);
  try {
    result = Integer.parseInt(s);
  } catch (Exception e) { }
  return result;
}

Ein Aufruf der Funktion könnte dann so erfolgen:

int i = parseIntOrDefault("123", 0));   // 123
int i = parseIntOrDefault("ABC", 0));   // 0
int i = parseIntOrDefault(" 1 ", 0));   // 1

Die erste Zeile in diesem Beispiel würde den String "123" in die Zahl 123 konvertieren. In der zweiten Zeile übergeben wir den String "ABC" und bekämen dadurch den Default-Wert 0.

In unserer Funktion benutzen wir übrigens noch die Zeile StringUtils.trim(value). Damit schneiden wir vorne und hinten vom String möglichen Leerzeichen und Whitespace vor der Konvertierung ab. Die dritte Zeile in unserem Beispiel dokumentiert das.
02.08.2016 um 16:18

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.