That syntax won't work for Integer.parseInt()
, because it will result in a NumberFormatException
You could handle it like this:
String userid = "user001";
int int_userid;
try {
int_userid = Integer.parseInt(userid);
} catch(NumberFormatException ex) {
int_userid = 0;
}
Please note that your variable names do not conform with the Java Code Convention
A better solution would be to create an own method for this, because I'm sure that you will need it more than once:
public static int parseToInt(String stringToParse, int defaultValue) {
try {
return Integer.parseInt(stringToParse);
} catch(NumberFormatException ex) {
return defaultValue; //Use default value if parsing failed
}
}
Then you simply use this method like for e.g.:
int myParsedInt = parseToInt("user001", 0);
This call returns the default value 0
, because "user001" can't be parsed.
If you remove "user" from the string and call the method...
int myParsedInt = parseToInt("001", 0);
…then the parse will be successful and return 1
since an int can't have leading zeros!