String als Zahl erkennen

Hallo!

Schau mal hier:
Code:
package de.tutorials;

public class StringNumberTest {

	public static void main(String[] args) {
		String[] strings = { "ac131b", "131b", "131", "acb", "-134", "213" };
		for (int i = 0; i < strings.length; i++) {
			String s = strings[i];
			if (s.matches("[-]?\\d+")) { // Regulärer Ausdruck -> nur
											// Ziffern... u. negativem Vorzeichen
				System.out.print(s);
				int j = Integer.valueOf(s).intValue();
				System.out.print("->");
				System.out.println(j);
			}
		}
	}
}

Gruß Tom
 
Hallo!

So kann man die Exception umgehen... weiterhin ist Integer.valueOf schneller als parseInt, da die erstere Methode einen Integer internen Cache nutzt (für Werte von -128 bis +127)
Ps.: Das Caching funktioniert übrigens nur für Integer.valueOf(int i); ...

Gruß Tom
 
Zurück