> Java > java지도 시간 > Java에서 정수가 아닌 문자열을 구문 분석할 때 NumberFormatException을 방지하려면 어떻게 해야 합니까?

Java에서 정수가 아닌 문자열을 구문 분석할 때 NumberFormatException을 방지하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-14 14:56:10
원래의
305명이 탐색했습니다.

How Can I Prevent NumberFormatException When Parsing Non-Integer Strings in Java?

정수가 아닌 경우 NumberFormatException 방지

수치 데이터를 처리할 때 예상 수치가 누락되거나 비정수인 상황을 처리하는 것이 중요합니다. 숫자. Java에서는 숫자가 아닌 문자열을 정수로 구문 분석하려고 할 때 NumberFormatException이 발생합니다.

다음 시나리오를 고려하십시오.

java.lang.NumberFormatException: For input string: "N/A"
...
로그인 후 복사

이 예외는 문자열 "N/A"를 나타냅니다. 정수로 해석될 수 없습니다. 이를 방지하기 위해 두 가지 주요 전략이 있습니다:

예외 처리

이 접근 방식에서는 문자열 구문 분석을 시도하기 전에 숫자가 아닌 잠재적인 값을 명시적으로 확인합니다.

try {
    int i = Integer.parseInt(input);
} catch (NumberFormatException ex) {
    // Handle the exception (e.g., log error, provide user feedback)
}
로그인 후 복사

문자열이 숫자가 아닌 경우 예외 블록이 실행되어 상황을 처리할 수 있습니다.

패턴 일치

또는 Java의 정규식 기능을 사용하여 문자열이 예상 정수 형식과 일치하는지 확인할 수 있습니다.

String input = ...;
String pattern = "-?\d+";
if (input.matches(pattern)) {
    // The string is an integer
} else {
    // The string is not an integer
}
로그인 후 복사

"-?d" 패턴은 양수 또는 음수와 일치하므로 문자열이 다음과 같은 경우에만 구문 분석을 진행합니다. 유효합니다.

두 방법 중 하나를 적용하면 NumberFormatException을 방지하고 코드에서 숫자가 아닌 값을 적절하게 처리하도록 할 수 있습니다.

위 내용은 Java에서 정수가 아닌 문자열을 구문 분석할 때 NumberFormatException을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿