반응형

null 2

Collections.EMPTY_LIST vs Collections.emptyList() 무엇이 다를까?

java를 사용한다면 빈 객체를 넘겨줘야할 일이 한번쯤은 발생할 것이다. 이 때, null을 넘겨주는 것은 굉장히 위험하니 빈 list를 넘겨줘야 되는 경우가 많이 발생한다. (아이템 54. null이 아닌, 빈 컬렉션이나 배열을 반환하라) 이 경우, 우리는 두 가지 선택지가 존재한다. Collections.EMPTY_LIST를 쓸지, Collections.emptyList()를 쓸지. 전자의 경우(EMPTY_LIST 사용) 빈 객체를 넘겨주기 위해 EMPTY_LIST 상수값을 넘겨주었다. 이제 테스트를 돌려보자. 아래와 같은 경고가 발생한다. uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 형변..

null을 반환하지 말고 빈 객체, 또는 Optional을 반환하자

우아한테크코스 미션을 진행하면서, 그리고 이펙티브 자바를 읽으면서 null 반환의 위험성을 알게 됐다. 로또 미션을 진행하면서 로또 구매 방법에는 자동, 수동이 존재한다. 수동으로 구매할 것이라면 구매할 로또 번호들을 입력하고, 구매하지 않을 것이라면 생략해주자 수동 로또를 구매할 개수를 입력받을 때, 0이 아닌 특정 자연수값이라면 번호를 List에 담은 객체를 넘겨주면 되지만, 0이 입력됐을 경우, 두 가지 방법이 존재한다. null을 반환해준다. 빈 객체(Collections.emptyList())를 반환해준다. 1번 방법은 위험한 방법이다. null을 반환해줄 경우, 이를 사용하는 프로덕션 메소드에서 null일 때에 따로 처리하는 로직을 추가로 만들어주어야 한다. 그렇지 않을 경우, 우리를 자주 괴..

1
반응형