Effective Java 3/E Item 55 옵셔널반환은 신중히 하라
1. 옵셔널반환은 신중히 하라 자바 8전에는 메서드가 특정조건에서 값을 반환할 수 없을때 취할 수 있는 선택지가 두가지가 있었다. 예외를 던지거나 null을 반환하는것입니다. 예외 예외의 경우는 스택 추적 전체를 캡처하므로 비용이 만만치 않습니다. null 반환 null은 반환하면 이런 문제가 생기지 않지만 null을 반환할 수 있는 메서드를 호출
1. 옵셔널반환은 신중히 하라 자바 8전에는 메서드가 특정조건에서 값을 반환할 수 없을때 취할 수 있는 선택지가 두가지가 있었다. 예외를 던지거나 null을 반환하는것입니다. 예외 예외의 경우는 스택 추적 전체를 캡처하므로 비용이 만만치 않습니다. null 반환 null은 반환하면 이런 문제가 생기지 않지만 null을 반환할 수 있는 메서드를 호출
1. null이 아닌, 빈 컬렉션이나 배열을 반환하라 1.1. 컬렉션이 비었으면 null을 반환한다. - 따라하지말아야 하는 방법 123456789/** * * @return 매장 안의 모든 치즈 목록을 반환한다. * 단, 재고가 하나도 없다면 null을 반환한다. */public List<Cheese> getCheess1(){
1. 익명클래스 보다는 람다를 사용하라 자바에서 함수 타입을 표현할 때 추상 메서드를 하나만 담은 인터페이스를 사용했습니다. 이러한 인터페이스의 인스턴스를 함수 객체(function object)라고 하여, 특정 함수나 동작을 나타내는 데 썼습니다. 1997년 JDK1.1 이 등장하면서 함수 객체를 만드는 주요 수단은 익명 클래스가 되었습니다. 문자열을
1. 람다보다는 메서드 참조를 사용하라 람다가 익명 클래스보다 나은 점 중에서 가장 큰 특징은 간결함입니다. 그런데 자바에는 함수객체를 심지어 람다보다도 더 간결하게 만드는 방법이 있습니다. 바로 메서드 참조(Method reference)입니다. 다음 코드는 임의의 키와 Integer 값의 매핑을 관리하는 프로그램의 일부입니다. 키의 인스턴스 개수로 해