String nach Integer parsen und überprüfen?

Turgor

Mitglied
Hallo,
ich habe ein String[] array und parse das mithilfe von int i = Integer.parseInt(array[0]) und möchte dann mittels java.util.regex.Pattern.matches("[+-]?\\d+", i); überprüfen, ob Integer.parseInt auch wirklich eine korrekt geparste Int-Zahl handelt. Allerdings bringt mir der Compiler dabei folgenden Fehler:
Die Methode matches(String, CharSequence) im Typ Pattern ist für die Argumente nicht anwendbar (String, int)
Allerdings sind diese Bedingungen - meiner bescheidenen Meinung nach - alle erfüllt.
Wäre für jeden Tipp dankbar!
 
Hallo,

in der Fehlermeldung steht doch genau was nicht funktioniert. Du übergibst als zweiten Parameter eine Integer-Variable und das funktioniert nicht. Übergeben werden soll dort eine Charsequence.
Allerdings verstehe ich nicht so richtig warum du überprüfen willst, ob in einer Integervariable auch ein Integer drin steht. Da kann nur ein Integer drin stehen und nichts anderes. Wenn in dem String, den du mit Integer.parsteInt nach Integer parst keine Zahl drin steht, dann wird eine NumberFormatException geworfen und damit siehst du dann, dass keine Zahl in dem String stand.


MFG

zEriX
 
Richtig!
du musst vorher schon prüfen, sprich:

Java:
try {
  int i = Integer.parseInt(array[0])
} catch (NumberFormatException e) {
  System.out.prinlt("i ist keine Zahl");
}

Somit brauchst du mit java.util.regex.Pattern.matches gar nichts mehr überprüfen, da es schon mit dem try catch block gemacht wird!

MFG djjada
 
Zurück