I hope to write a small method to do the following things: For example, the string a = "a123", then the method should return fulse; the string b = "111", it should return true. It means only the string is an int, it should return true, all the other cases should return false. Does anyone can help me? Thank you!
You can use Integer.parseInt(integerString);
public boolean isInteger(String integerString){
try{
Integer.parseInt(integerString);
return true;
} catch (NumberFormatException nfe) {
return false;
}
}
a NumberFormatException means parsing will not be successful hence the String is not an integer.
If you meant you wanted a string that's composed only of the digits 0-9 (and with arbitrary length) you can just use the regular expression "\\d+"
, i.e. str.matches("\\d+")
.
If you want to take into account positive and negative signs you could use "[+-]?\\d+"
.
If you're considered with length (the primitive int
typo can't have more than 10 digits) you could use "[+-]?\\d{1,10}+"
.
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