如何避免Java中的数字格式异常?

在我日常的Web应用程序开发中,有许多情况需要我们从用户那里获取一些输入。

然后将这个数字输入传递给可能是应用程序的服务层或DAO层。

由于它是一个数字(整数或浮点数),在某个阶段,我们需要将其转换为整数,如以下代码片段所示。

String cost = request.getParameter("cost");

if (cost !=null && !"".equals(cost) ){

Integer intCost = Integer.parseInt(cost);

List<Book> books = bookService . findBooksCheaperThan(intCost);

}

在上述情况下,在这里,我必须检查输入是否不为null或是否没有输入(空白),或者有时是否有非数字输入的可能性,例如blah,test等。

处理此类情况的最佳方法是什么?

回答:

只需捕获您的异常并进行适当的异常处理即可:

if (cost !=null && !"".equals(cost) ){

try {

Integer intCost = Integer.parseInt(cost);

List<Book> books = bookService . findBooksCheaperThan(intCost);

} catch (NumberFormatException e) {

System.out.println("This is not a number");

System.out.println(e.getMessage());

}

}

以上是 如何避免Java中的数字格式异常? 的全部内容, 来源链接: utcz.com/qa/402373.html

回到顶部