본문 바로가기
반응형

이펙티브자바2

가변인수는 신중하게! 이펙티브 자바에서 읽었던 가변 인수에 대한 것을 정리해보았습니다. 가변 인수(varargs) 메서드는 명시한 타입의 인수를 0개 이상 받을수있습니다. 가변 인수 메서드를 호출하면, 가장 먼저 인수의 개수와 길이가 같은 열을 만들고 인수들은 이 배열에 저장하여 가변 인수 메서드에 건네줍니다. 인수가 1개 이상이어야 할 때도 있습니다. 예를 들어 최솟값을 찾는 메서드인데 인수를 0개만 받을 수도 있도록 설계하는 것은 좋지 않습니다. static int min(int... args){ if(args.length ==0){ throw new IllegalStateException("인수가 1개 이상 필요합니다"); } int min = args[0]; for(int i=0;i 2022. 3. 16.
익명 클래스하고 람다식은 어떤 상황일 때 사용해야할까? 이펙티브 자바라는 책을 읽던 중 람다 함수에 대해 궁금하여 정리해보았습니다. 간단하게 문자열을 길이 순으로 정렬하는데, 정렬을 위한 비교 함수로 익명 클래스로 사용한 방법을 확인해봅시다. Collections.sort(words, new Comparator(){ public int compare(String s1, String s2){ return Integer.compare(s1.length(), s2.length()); } }); 전략 패턴처럼 함수 객체를 사용하는 과거 객체지향 디자인 패턴에는 익명 클래스면 충분했습니다. https://ko.wikipedia.org/wiki/%EC%A0%84%EB%9E%B5_%ED%8C%A8%ED%84%B4 전략 패턴 - 위키백과, 우리 모두의 백과사전 전략 패턴(.. 2022. 3. 10.
반응형