2010년 1월 4일 월요일

java.lang.NumberFormatException.forInputString

java.lang.NumberFormatException.forInputString 오류

 

문제가 되었던 내용

펼쳐두기..


 

 

아래는 검색..

 

java.lang.NumberFormatException: For input string: ""
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

== 이것은 자바런타임 에러로써 문법상의 에러는 없다

즉, 자바 컴파일러가 오브젝트 코드를 변환시에는 에러가 없다는 뜻

문법상 에러는 없다.

에러코드를 보면 NumberFormatException이 발생하는데, Integer.parseInt()메소드 호출시

매개변수가 숫자로 변환할 수 없는 형태의 값으로 전달되기 때문이다.

따라서 컴파일시에는 이값이 어떤게 들어갈지 모르므로 에러가 나지 않지만 실행시에 그값이

처리할 수 없는 값으로 전달되기에 에러가 발생한다.

에러의 처음라인을 보면 그매개변수가 "" 빈문자열로 들어가고 있는데 이것은 "0"과 다르다.

즉 공백문자가 들어가고 있기 때문에 숫자로 변환할  수 없는 것이다.

 

만약

String str = "";

int i = Integer.parseInt(str);

이렇게 하였다면

 

String str = ""; ----> String str="1";

이런식으로 숫자에 대응하는 문자열로 넣으면 된다.

 

 

 

 

댓글 없음:

댓글 쓰기