Konvertiere String in int oder Integer in Java

Konvertieren Sie String in int oder Integer in Java

1. Einführung

Das Konvertieren vonString inint oderInteger ist in Java eine sehr häufige Operation. In diesem Artikel zeigen wir verschiedene Möglichkeiten, um mit diesem Problem umzugehen.

Es gibt ein paar einfache Möglichkeiten, um diese grundlegende Konvertierung zu bewältigen.

2. Integer.parseInt()

Eine der Hauptlösungen besteht darin, die dedizierte statische Methode vonIntegerzu verwenden:parseInt(), die einen primitivenint-Wert zurückgibt:

@Test
public void givenString_whenParsingInt_shouldConvertToInt() {
    String givenString = "42";

    int result = Integer.parseInt(givenString);

    assertThat(result).isEqualTo(42);
}

3. Integer.valueOf()

Eine andere Option wäre die Verwendung der statischenInteger.valueOf()-Methode, die eineInteger-Instanz zurückgibt:

@Test
public void givenString_whenCallingIntegerValueOf_shouldConvertToInt() {
    String givenString = "42";

    Integer result = Integer.valueOf(givenString);

    assertThat(result).isEqualTo(new Integer(42));
}

4. Integer Konstruktor

Sie können auch den Konstruktor vonIntegerverwenden:

@Test
public void givenString_whenCallingIntegerConstructor_shouldConvertToInt() {
    String givenString = "42";

    Integer result = new Integer(givenString);

    assertThat(result).isEqualTo(new Integer(42));
}

5. Integer.decode()

Integer.decode() funktioniert ähnlich wieInteger.valueOf(),, kann jedoch auch unterschiedlichenumber representations akzeptieren:

@Test
public void givenString_whenCallingIntegerDecode_shouldConvertToInt() {
    String givenString = "42";

    int result = Integer.decode(givenString);

    assertThat(result).isEqualTo(42);
}

6. NumberFormatException

Alle oben genannten Methoden werfenNumberFormatException,, wenn unerwarteteString-Werte auftreten. Hier sehen Sie ein Beispiel für eine solche Situation:

@Test(expected = NumberFormatException.class)
public void givenInvalidInput_whenParsingInt_shouldThrow() {
    String givenString = "nan";
    Integer.parseInt(givenString);
}

7. Mit Guave

Natürlich müssen wir uns nicht an das eigentliche Java halten. Auf diese Weise kann dasselbe mitInts.tryParse(),von Guava erreicht werden, das einen Wert vonnullzurückgibt, wenn die Eingabe nicht analysiert werden kann:

@Test
public void givenString_whenTryParse_shouldConvertToInt() {
    String givenString = "42";

    Integer result = Ints.tryParse(givenString);

    assertThat(result).isEqualTo(42);
}

8. Fazit

In diesem Artikel haben wir verschiedene Möglichkeiten zum Konvertieren vonString Instanzen inint oderInteger Instanzen untersucht.

Alle Codebeispiele finden Sie natürlich im Repository vonGitHub.