如果我想编写一个接受字符串并将其转换为整数的函数,我完全不相信我的输入,如果字符串无效,我应该返回什么。我想返回0,但这会让人感到困惑,因为这个数字实际上可能是0吗?假设这是一个面试问题,你需要检查所有边缘情况。
答案 0 :(得分:2)
在Java中,抛出异常是常规的。这就是Integer.parseInt()
所做的,这是该功能的官方Java实现。
答案 1 :(得分:0)
如果字符串无效,我应该返回什么
Throw a RunTimeException
。 API 已经为您完成了这项工作。如果您尝试使用Integer.parseInt(str)
解析无效字符串,则会在运行时抛出NumberFormatException
。
答案 2 :(得分:0)
一种可能的选择是,如果string不能转换为整数,则返回默认值。例如:
public int convert(String input, int defaultValue) {
try {
return Integer.parseInt(input);
} catch (Exception e) {
return defaultValue;
}
}