具有基本类型的实用程序库java中的tryParse方法?
在Java中,当从字符串解析日期、int或任何基元类型时,需要在try-catch中完成,因为可能会发生ParseException。如果有一个方法tryParse不抛出异常,而是返回true或false(如果可以或无法解析字符串),那就太好了。网上很少有例子描述编写用于解析int的实用函数。但我相信这对于其他一些类型也是必要的:int、long、Date、,等等……因为这是一个如此常见的问题,我想知道是否有一个实用程序库已经有了这些用于基本类型的tryParse方法?这取决于用例。由另一个软件生成的字符串通常应该是正确的格式,因此在不太可能的情况下捕获异常是可以的 对于用户输入,像具有基本类型的实用程序库java中的tryParse方法?,java,java-8,Java,Java 8,在Java中,当从字符串解析日期、int或任何基元类型时,需要在try-catch中完成,因为可能会发生ParseException。如果有一个方法tryParse不抛出异常,而是返回true或false(如果可以或无法解析字符串),那就太好了。网上很少有例子描述编写用于解析int的实用函数。但我相信这对于其他一些类型也是必要的:int、long、Date、,等等……因为这是一个如此常见的问题,我想知道是否有一个实用程序库已经有了这些用于基本类型的tryParse方法?这取决于用例。由另一个软件
Integer.parseInt
这样的简单解析例程无论如何都是不够的。您通常会获取一个适合数据类型和用户语言的对象,该对象具有允许处理错误的方法。如果出现错误,它将返回null
,您的ParsePosition
对象将更新以反映错误的位置
请注意,对于像Date
这样的类型,无论如何都没有与Integer.parseInt
等效的原始解析例程。这些问题总是由a来处理,因此您总是有一个格式的对象,问题就变得毫无意义了。有一些类可以帮助您完成任务
方法:
-检查字符串是否为有效的Java数字
-检查给定字符串是否为可解析数字
包含一种方法,可根据您的需要用于实现日期的isParsable
方法
您可以使用这些类来实现自己的简单框架,以避免代码中出现ParseExceptions
。欢迎使用Java。。。如果您希望返回null而不是异常,那么您可能应该编写C。对不起,我的意思是它应该返回true或false,让我编辑问题。查找此类内容的第一个地方是项目。它们有大量的实用程序类。解析应该返回日期、int、long,无论什么,并且永远不会返回true/false,除非您正在解析布尔值。您需要的是php风格:-)Guava有Ints#tryParse
和Long#tryParse
方法。但是DateFormat
也知道重载的parse(…)
-方法接受ParsePosition
参数,请参阅。否则答案不错。@Meno Hochschild:我意识到最后一句话有误导性。我重写了它,以明确原意。