你如何在解析一个字符串之前检查它是否是一个数字?
你可以使用[NumberFormat#parse](http://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#parse-java.lang.String-)。
NumberFormat#parse
try { NumberFormat.getInstance().parse(value); } catch(ParseException e) { // Not a number. }
解析它(即用Integer#parseInt),然后简单地捕捉异常。 =)
Integer#parseInt
澄清一下:parseInt函数在任何情况下都会检查是否可以解析这个数字(很明显),如果你想无论如何都要解析它,你不会因为实际进行解析而受到任何性能上的影响。
如果你不想解析它(或者很少解析它),你可能希望以不同的方式来处理它,当然。
我认为唯一能可靠地判断一个字符串是否为数字的方法是对它进行解析。因此,我将直接解析它,如果它是一个数字,你就可以免费得到一个int中的数字。
你可以使用[
NumberFormat#parse
](http://docs.oracle.com/javase/8/docs/api/java/text/NumberFormat.html#parse-java.lang.String-)。解析它(即用
Integer#parseInt
),然后简单地捕捉异常。 =)澄清一下:parseInt函数在任何情况下都会检查是否可以解析这个数字(很明显),如果你想无论如何都要解析它,你不会因为实际进行解析而受到任何性能上的影响。
如果你不想解析它(或者很少解析它),你可能希望以不同的方式来处理它,当然。
我认为唯一能可靠地判断一个字符串是否为数字的方法是对它进行解析。因此,我将直接解析它,如果它是一个数字,你就可以免费得到一个int中的数字。