您可以创建相当复杂的正则表达式,但这不值得。在这里使用异常是绝对正常的。
这是自然的例外情况:您假设字符串中有一个整数,但实际上还有其他东西。应该抛出异常并正确处理。
如果查看内部
parseLong代码,将会看到有许多不同的验证和操作。如果要在解析之前执行所有操作,则会降低性能(如果我们正在谈论解析数百万个数字,因为否则无关紧要)。因此,
如果您确实确实需要 通过避免异常来提高性能的 话,您
唯一可以做的就是:将
parseLong实现复制到您自己的函数中并返回NaN,而不是在所有对应的情况下都抛出异常。



