0

如果我想编写一个接受字符串并将其转换为整数的函数,并且我根本不信任我的输入,如果字符串无效,我应该返回什么。我想返回 0 但这会令人困惑,因为这个数字实际上可能是 0?假设这是一个面试问题,您需要检查所有边缘情况。

4

3 回答 3

2

在 Java 中,通常会抛出异常。这是做什么Integer.parseInt()的,这是该功能的官方 Java 实现。

于 2013-02-21T22:39:20.683 回答
0

如果字符串不能转换为整数,一种可能的选择是返回默认值。例如:

public int convert(String input, int defaultValue) {
    try {
        return Integer.parseInt(input);    
    } catch (Exception e) {
        return defaultValue;            
    }
}
于 2013-02-21T22:51:46.273 回答
0

如果字符串无效,我应该返回什么

Throw a RunTimeException. API已经为您做到了。如果您尝试使用它解析无效字符串,则会在运行时Integer.parseInt(str)抛出。NumberFormatException

于 2013-02-21T22:39:18.220 回答