아이템 54. null이 아닌 빈컬렉션이나 배열을 반환하라.
이펙티브 자바아이템 54. null이 아닌 빈컬렉션이나 배열을 반환하라.12345678910111213141516171819202122232425262728package com.github.sejoung.codetest.methods;import java.util.Ar ...
Read more
아이템 53. 가변인수(varargs)는 신중히 사용하라.
이펙티브 자바아이템 53. 가변인수(varargs)는 신중히 사용하라.가변인수(varargs) 메서드는 몇시한 타입의 인수를 0개 이상 받을수 있다. 1234567891011121314151617181920package com.github.sejoung.codetest ...
Read more
아이템 52. 다중정의(overloading)는 신중히 사용하라.
이펙티브 자바아이템 52. 다중정의(overloading)는 신중히 사용하라.12345678910111213141516171819202122232425262728293031323334package com.github.sejoung.codetest.methods.over ...
Read more
아이템 51. 메서드 시그니처를 신중하게 설계하라.
이펙티브 자바아이템 51. 메서드 시그니처를 신중하게 설계하라. 메서드 이름을 신중하게 짓자 편의 메서드를 너무 많이 만들지 말자 - 확신이 서지 않으면 만들지 말자. 매개변수 목록은 짧게 유지하자. - 같은 타입의 매개변수가 연달아 나오는 경우가 특히 해롭다. 매개변 ...
Read more
아이템 50. 적시에 방어적 복사본을 만들어라.
이펙티브 자바아이템 50. 적시에 방어적 복사본을 만들어라.클라이언트가 여러분의 불변식을 깨뜨릴려고 혈안이 되있다고 가정하고 방어적으로 프로그래밍 해야 한다. 1234567891011121314151617181920212223242526272829303132333435 ...
Read more
아이템 49. 매개변수가 유효한지 검사하라.
이펙티브 자바아이템 49. 매개변수가 유효한지 검사하라.매서드와 생성자 대부분은 입력 매개변수의 값이 특정 조건을 만족하기를 바란다.이러한 제약은 반드시 문서화해야 되며 몸체가 실행되기전 검사해야된다. java 7에 추가된 requireNonNull 매서드는 유연하고 ...
Read more
아이템 48. 스트림 병렬화는 주의해서 적용하라.
이펙티브 자바아이템 48. 스트림 병렬화는 주의해서 적용하라.12345678910111213141516171819202122232425package com.github.sejoung.codetest.stream;import java.math.BigInteger;impo ...
Read more
아이템 47. 반환타입으로 스트림보다 컬렉션이 낫다.
이펙티브 자바아이템 47. 반환타입으로 스트림보다 컬렉션이 낫다.반환타입으로 스트림보다 컬렉션이 나은 이유가 둘다 iterable을 구현하고 있지만스트림은 iterable을 extend 하지 않아서 loop문이 정상적으로 동작 되지 않는다. 123456789101112 ...
Read more
아이템 46. 스트림에서는 부작용 없는 함수를 사용하라
이펙티브 자바아이템 46. 스트림에서는 부작용 없는 함수를 사용하라.스트림 패러다임의 핵심은 계산을 일련의 변환으로 재구성하는 부분이다. 이때 각 단계는 가능한 한 이전 단계의 결과를 받아 처리 하는 순수 함수여야 한다.순수 함수란 입력만이 결과에 영향을 주는 함수이다 ...
Read more
아이템 45. 스트림은 주의해서 사용해라
이펙티브 자바아이템 45. 스트림은 주의해서 사용해라자바8에 추가된 스트림 API 핵심은 두가지 이다. 스트림은 데이터 원소의 유한 혹은 무한 시퀀스를 뜻한다. 스트림 파이프 라인은 이 원소들이 수행하는 원소 단계를 뜻한다. 스트림 파이프라인은 소스 스트림으로 시 ...
Read more