在Java中,使用Integer.parseInt()
方法將字符串轉換為整數時,可能會遇到以下幾種異常:
try {
int num = Integer.parseInt("abc");
} catch (NumberFormatException e) {
System.out.println("無法將字符串轉換為整數: " + e.getMessage());
}
parseInt()
方法的字符串為null
,則會拋出此異常。try {
int num = Integer.parseInt(null);
} catch (NullPointerException e) {
System.out.println("字符串為null");
}
在實際編程中,為了處理這些異常,通常會使用try-catch
語句塊來捕獲并處理它們。在上面的示例中,我們分別捕獲了NumberFormatException
和NullPointerException
,并在catch
塊中打印了相應的錯誤消息。
除了使用try-catch
語句塊外,還可以考慮以下方法來處理異常:
Optional
類:Java 8引入了Optional
類,它可以用來表示一個值可能存在也可能不存在。使用Optional.ofNullable()
方法可以將可能為null
的字符串包裝成一個Optional
對象,然后使用Optional.orElse()
方法提供一個默認值。如果字符串為null
,則返回默認值。Optional<Integer> optionalNum = Optional.ofNullable("abc").map(Integer::parseInt);
int num = optionalNum.orElse(-1); // 如果字符串為null,則返回-1
ifPresent()
方法:Optional
類還提供了ifPresent()
方法,它允許在值存在時執行一個操作。如果字符串為null
,則不會執行任何操作。Optional<Integer> optionalNum = Optional.ofNullable("abc").map(Integer::parseInt);
optionalNum.ifPresent(num -> System.out.println("轉換后的整數為: " + num));
這些方法可以幫助你更優雅地處理可能出現的異常情況,并避免程序在遇到錯誤時崩潰。