NullPointerException 해결 : map.get().trim()의 순서 문제

LeeYulhee·2023년 11월 1일
0

👉 작성했던 코드


if( "".equals(map.get( "ID" ).trim()) || map.get( "ID" ) == null )
  • map에는 클라이언트에서 입력한 데이터가 담긴 상태라 null이나 공백이 들어올 수 있음
    • 해당 문제를 해결하기 위해 trim()을 사용해서 데이터의 공백을 제거한 후 확인
    • ⇒ NullPointerException 발생



👉 문제의 원인


  • trim()은 해당 map에서 가져온 value(String)의 공백을 제거하는 메서드
    • 만약 map에서 가져온 value가 null이면 trim()이 실행될 때 NullPointerException이 발생



👉 해결 방법


  • null인지 먼저 확인하고, null이 아닌 경우에만 trim()을 실행하도록 조건문의 순서를 변경
    if( map.get( "ID" ) == null || "".equals(map.get( "ID" ).trim() ) )
    • Java11 부터는 isBlank() 메서드를 활용할 수 있어서 공백 확인을 더 간결하게 적을 수 있음
      if ( map.get( "ID" ) == null || map.get( "ID" ).isBlank() )
profile
공부 중인 신입 백엔드 개발자입니다

0개의 댓글