W jaki sposób można przekonwertować ciąg na int w Javie?
Mój ciąg zawiera tylko liczby i chcę zwrócić reprezentowaną przez niego liczbę.
Na przykład, podając łańcuch „1234”, wynik powinien być liczbą 1234.
1 odpowiedź
String myString = "1234";
int foo = Integer.parseInt(myString);
Jeśli spojrzysz na dokumentację Java, zauważysz, że „catch” polega na tym, że ta funkcja może wywołać wyjątek NumberFormatException, który oczywiście musisz obsłużyć:
int foo;
try {
foo = Integer.parseInt(myString);
}
catch (NumberFormatException e)
{
foo = 0;
}
(To leczenie domyślnie ustawia nieprawidłową liczbę na 0, ale jeśli chcesz, możesz zrobić coś innego).
Alternatywnie, możesz użyć metody Ints z biblioteki Guava, która w połączeniu z Java 8, tworzy potężny i zwięzły sposób konwertowania ciągu znaków na int:
import com.google.common.primitives.Ints;
int foo = Optional.ofNullable(myString)
.map(Ints::tryParse)
.orElse(0)