Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有基本类型的实用程序库java中的tryParse方法?_Java_Java 8 - Fatal编程技术网

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

具有基本类型的实用程序库java中的tryParse方法?,java,java-8,Java,Java 8,在Java中,当从字符串解析日期、int或任何基元类型时,需要在try-catch中完成,因为可能会发生ParseException。如果有一个方法tryParse不抛出异常,而是返回true或false(如果可以或无法解析字符串),那就太好了。网上很少有例子描述编写用于解析int的实用函数。但我相信这对于其他一些类型也是必要的:int、long、Date、,等等……因为这是一个如此常见的问题,我想知道是否有一个实用程序库已经有了这些用于基本类型的tryParse方法?这取决于用例。由另一个软件

在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:我意识到最后一句话有误导性。我重写了它,以明确原意。