当前位置: 首页 > 面试题库 >

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

蓟浩旷
2023-03-14
问题内容

Long.parseLong("string")如果无法将字符串解析为long则抛出错误。有没有比使用更快的方法来验证字符串try-catch?谢谢


问题答案:

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

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

如果查看内部parseLong代码,将会看到有许多不同的验证和操作。如果要在解析之前执行所有操作,则会降低性能(如果我们正在谈论解析数百万个数字,因为否则无关紧要)。因此,
如果您确实确实需要 通过避免异常来提高性能的 话,您
唯一可以做的就是:将parseLong实现复制到您自己的函数中并返回NaN,而不是在所有对应的情况下都抛出异常。



 类似资料:
  • 问题内容: 就像是: 解决方案不应包含try / catch。我们中的一些人打开“打破所有错误”,他们不喜欢调试器打破那些无效的JSON字符串。 问题答案: 首先发表评论。 问题是关于不使用。 如果您不介意使用它,请阅读以下答案。在这里,我们仅使用正则表达式检查字符串,它在大多数情况下(并非在所有情况下)都适用。 看看https://github.com/douglascrockford/JSON

  • 我需要检查字符串中是否只有数字,以便将其解析为int。我不允许使用try/catch语句。thusfar,我在这里尝试过的一切都没有奏效,这就是为什么我可能已经被问到了这个问题。以下是我正在尝试的: 它是从一个文件中读取的,如果第一个输入不是整数,那么下一个输入就是整数,但是当运行时,由于某种原因,我在else语句中得到了一个不匹配的结果。

  • 问题内容: 有没有办法在不使用机制的情况下判断字符串是否表示整数(例如但不是或)? 问题答案: 如果你真的很讨厌在各处使用s,请编写一个辅助函数: 它将需要更多的代码来完全覆盖Python认为是整数的所有字符串。我说这是pythonic。

  • 问题内容: 在Java中,我们使用try catch块处理异常。我知道我可以像下面这样编写一个try catch块来捕获方法中抛出的任何异常。 但是Java中有什么方法可以让我在发生异常时获取一种称为的特定方法,而不是像上面的方法那样编写一个包罗万象的方法? 具体来说,当抛出异常(我的应用程序逻辑未处理)时,我想在Swing应用程序中显示一条用户友好的消息。 谢谢。 问题答案: 默认情况下,JVM

  • 是否可以在没有实体的情况下使用JpaRepository?在这种情况下,将其替换为DTO。 如下示例所示 这种情况有替代方案吗? 注意:DTO已经映射,但我不想创建视图来将此DTO转换为实体。 我已经验证了这个主题,但没有重大进展,请使用无实体的JpaRepository交互样式 我在试这个 接口- 公共接口BffDTOInterface2{ } 我有这个错误

  • 问题内容: 我有一些Python代码,这些代码遍历字符串列表,并在可能的情况下将它们转换为整数或浮点数。对整数执行此操作非常简单 浮点数比较困难。现在,我正在使用分割字符串并检查以确保一侧或两侧都是数字。 这行得通,但是显然,如果使用if语句有点让人头疼。我考虑的另一种解决方案是将转换仅包装在try / catch块中,然后查看转换是否成功 还有其他想法吗?关于分区和尝试/捕获方法的相对优点的看法