What's the best way to check if a String represents an integer in Java?

后端 未结 30 1975
野趣味
野趣味 2020-11-22 05:45

I normally use the following idiom to check if a String can be converted to an integer.

public boolean isInteger( String input ) {
    try {
        Integer.         


        
30条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-22 06:18

    This is shorter, but shorter isn't necessarily better (and it won't catch integer values which are out of range, as pointed out in danatel's comment):

    input.matches("^-?\\d+$");
    

    Personally, since the implementation is squirrelled away in a helper method and correctness trumps length, I would just go with something like what you have (minus catching the base Exception class rather than NumberFormatException).

提交回复
热议问题