java中具有基本类型tryParse方法的实用程序库?

时间:2015-08-19 13:55:56

标签: java java-8

在Java中从String解析Date或int或任何基本类型时,需要在try catch中完成,因为可能发生ParseException。如果有一个方法tryParse没有抛出异常,而是返回true或false,如果String可以或不能被解析,那将是很好的。在线的几个例子描述了编写实用程序函数来解析int。但我相信这对于更多类型也是必要的:int,long,Date等......因为这是一个常见的问题,我想知道是否有一个实用程序库已经有这些基本类型的tryParse方法? / p>

2 个答案:

答案 0 :(得分:2)

Apache Commons Lang有一些课程可以帮助您完成任务。

<小时/> NumberUtils有方法:

isNumber - 检查String是否为有效的Java编号。

isParsable - 检查给定的String是否是可解析的数字。

DateUtils包含一个方法ParseDate,可根据您的需要用于实现日期的ParseExceptions方法。

您可以使用这些类来实现自己的简单框架,以避免代码中出现NSURLProtocol

答案 1 :(得分:1)

这取决于用例。由另一个软件生成的字符串通常需要采用正确的格式,因此在不太可能的情况下捕获异常,这样做很好。

对于用户输入,无论如何,Integer.parseInt之类的简单解析例程都是不够的。您通常会获取适合于数据类型和用户语言的Format对象,该对象具有允许处理错误的parseObject方法。如果出现错误,它将返回null,并且您的ParsePosition对象将更新以反映错误的位置。

请注意,对于类似Date的类型,无论如何都没有相当于Integer.parseInt的原始解析例程。总是由DateFormat处理,所以你总是有Format个对象,问题变得毫无意义。