본문 바로가기
IT/Java

Cause: java.lang.NumberFormatException : For input string: 해결방법

by 스터딩아재 2022. 1. 12.
반응형

 

자바

For input string: "" 혹은 "N", "Y" 등의 오류는 자바에서 Mybatis를 사용할 때 if test 등의 구문 사용에서 오류가 발생하는 경우입니다. 주로 "" String값에 null이 오거나, 문자와 숫자 비교 등 형변환 오류입니다.

 

 

For input string: ""의 경우

 

<if test="PARAM != 'Y'">

 

위와 같이 mybatis 구문 중 PARAM의 값이 파라미터가 null이 왔을 가능성이 있는지 확인합니다.

이 문제는 아래와 같이 해결할 수 있습니다.

 

1. 값을 넘길 때 default 값을 넣어 null이 되지 않도록 합니다..

2. AND 문으로 앞에 null 체크를 먼저 합니다.

 

<if test="PARAM != null and PARAM !='Y'">

 

 

반응형

 

For input string: (String) 문자열의 경우

 

test문을 감싸는 '(싱글쿼테이션), "(더블쿼테이션)의 차이가 타입의 차이를 발생시킬 수 있습니다.

 

예를 들어 For input string: "N", "Y"과 같은 메시지가 나오는 아래와 예제를 봅시다.

 

<if test="PARAM != 'Y'">

 

이 같은 경우 'Y'를 문자로 인식 못 하면서 에러가 발생합니다.

 

아래와 같이 수정하여 해결이 가능합니다.

 

 

1. 쿼테이션 위치 변경

 

<if test='PARAM != "Y"'>

 

 

2. equals 사용

 

<if test='"Y".equals(PARAM)'>

 

 

문제가 해결되셨기를


그리드형

댓글