Thursday 17 March 2016

How do I convert a String to an int in Java?




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.


Answer



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 of course you have to 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)

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...