Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check a string contains only int in JAVA? [duplicate]

Tags:

java

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!

like image 798
lkkeepmoving Avatar asked Dec 15 '22 17:12

lkkeepmoving


2 Answers

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.

like image 164
Nitin Chhajer Avatar answered Mar 23 '23 08:03

Nitin Chhajer


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}+".

like image 26
arshajii Avatar answered Mar 23 '23 10:03

arshajii