똑같은 삽질은 2번 하지 말자

Java NullPointException 조심하자 본문

Java

Java NullPointException 조심하자

곽빵 2020. 11. 20. 00:07

NullPointException

개발을 하면서 이거때문에 이슈가 정말 많이 일어난다.

지금은 Vue + SpringBoot(Rest API)로 개발을 진행하고 있는데, 아무래도 javascript와 json으로 주고 받다보니

생각지도 못한 곳에 Null이 들어가곤 한다...

 

그럼 이걸 예방할 수 있는 방법이 있을까?

 

우선 객체를 비교할 때

String a = null
String b = new String();
a.equals(b) // NullPointException

이렇게 equals를 쓰지 말고,(비교하는 주체 객체가 Null이면 equals method를 불러올 때 NullPointException 발생)

 

String a = null;
String b = new String();

Objects.equals(a,b) // false
StrungUtils.equals(a,b) // false org.apache.*

위의 방식으로 바꿔주면 똑같은 비교하는 코드 인데도, NPE가 발생하지 않는다.

 

뭐 애초에 Parameter에 Null을 안 넣는게 좋지만, 어떤 비즈니스 로직인가에

따라서 Null이 들어갈 수 도 있는건 어쩔수 없으니,

 

적어도 코드 한줄 한줄 작성하기 전에 한번 더 딱 한번 더 생각하고 작성하자.

지금 한번 생각하는게 귀찮으면, 나중에 훨씬 더 귀찮아질꺼다.

Comments