String
표현이 int
인 경우 오버플로를 확인하고 싶습니다.int의 문자열 표현이 주어진 경우 오버플로를 확인하십시오
parseInt
과 같은 Java의 내장 함수를 사용하여 String
을 int
으로 변환하는 방법을 알고 있습니다. 그러나 String
크기가 커서 int
에 맞지 않는 경우 어떻게해야합니까?
String str = "214748364781";
int res = Integer.parseInt(str);
가 나는 String
표현의 기호를 확인 parseInt
을하려고 노력하고 징후는 다음과 일치하지 않는 경우 내가 실제로 그것을 실행했을 때 int
랩은 약하지만이 NumberFormat
을 던진 이후는 오버 플로우가하는 것을 말할 수있다 예외.
NumberFormat
은 잘못된 형식의 문자열에 대해 throw되므로 오버플로가 보장되지 않습니다.
그래서 입력 문자열의 형식이 올바른지 (모든 숫자) 확인한 다음 parseInt
을 입력하면 NumberFormat
이 나오면 오버플로가 발생했다는 결론을 내릴 수 있습니다.
그러나이 검사를 수행하는 짧은 방법이 있어야합니다.