java - 检查一个字符串是否可以在没有 try-catch 的情况下解析为 Long?

标签 java string parsing try-catch

Long.parseLong("string") 如果字符串无法解析为 long,则会引发错误。 有没有办法比使用 try-catch 更快地验证字符串? 谢谢

最佳答案

您可以创建相当复杂的正则表达式,但这并不值得。在这里使用异常是绝对正常的。

这是自然的异常(exception)情况:您假设字符串中有一个整数,但实际上还有其他东西。应该抛出异常并正确处理。

如果您查看 parseLong 代码,您会发现有许多不同的验证和操作。如果你想在解析之前做所有这些事情,它会降低性能(如果我们正在谈论解析数百万个数字,否则没关系)。因此,如果你真的需要通过避免异常来提高性能,你唯一能做的就是:将 parseLong 实现复制到你自己的函数并返回 NaN 而不是全部抛出异常记者案件。

关于java - 检查一个字符串是否可以在没有 try-catch 的情况下解析为 Long?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2563608/

相关文章:

javascript - jquery 中的 JSON.parse 错误

java - 尝试读取 Excel 文件时出现非法状态异常

Python - 如何从一行复制值,然后按原样粘贴到其他行值,或稍后修改它

java - 如何在 Java GUI 中设置按钮的背景颜色?

java - 线程 "main"java.util.MissingFormatArgumentException : Format specifier '.2f' ? 中出现异常

c - 为什么strlen()替换一个字符串?

c++ - 从 C++ 中的 char 函数返回一个 char 数组

java - 针对客户和员工的 Spring Security 用户身份验证

java - c - 客户端/java - 服务器 - 客户端读取奇怪的东西

c# - 为什么默认情况下只有文字字符串保存在实习生池中?