How can I convert a String to an int in Java?
My String contains only numbers, and I want to return the number it represents.
For example, given the string "1234" the result should be the number 1234.
String myString = "1234"; int foo = Integer.parseInt(myString); If you look at the Java documentation you'll notice the "catch" is that this function can throw a NumberFormatException, which you can handle:
int foo; try { foo = Integer.parseInt(myString); } catch (NumberFormatException e) { foo = 0; } (This treatment defaults a malformed number to 0, but you can do something else if you like.)
Alternatively, you can use an Ints method from the Guava library, which in combination with Java 8's Optional, makes for a powerful and concise way to convert a string into an int:
import com.google.common.primitives.Ints; int foo = Optional.ofNullable(myString) .map(Ints::tryParse) .orElse(0)
For example, here are two ways:
Integer x = Integer.valueOf(str); // or int y = Integer.parseInt(str); There is a slight difference between these methods:
valueOf returns a new or cached instance of java.lang.Integer parseInt returns primitive int. The same is for all cases: Short.valueOf/parseShort, Long.valueOf/parseLong, etc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With