728x90
반응형

함수형 인터페이스 3

[Effective Java] 아이템 44. 표준 함수형 인터페이스를 사용하라.

🎯 아이템 44. 표준 함수형 인터페이스를 사용하라. 필요한 용도에 맞는 게 있다면, 직접 구현하지 말고 표준 함수형 인터페이스를 활용하라. public class Item44 { public static void main(String[] args) { /** * 1 Supplier */ Supplier supplier = () -> "hello world"; System.out.println("supplier = " + supplier.get()); Supplier doubleSupplier = () -> Math.random(); System.out.println("doubleSupplier = " + doubleSupplier.get()); printRandomDoubles(doubleSupplie..

Java 2023.03.22

[Effective Java] 아이템 43. 람다보다는 메서드 참조를 사용하라.

🎯 아이템 43. 람다보다는 메서드 참조를 사용하라. 람다가 익명 클래스보다 나은 점 중에서 가장 큰 특징은 간결함이다. 그런데 자바에는 함수 객체를 심지어 람다보다도 더 간결하게 만드는 방법이 있으니, 바로 메서드 참조다. 하지만, 메서드 참조 쪽이 짧고 명확하다면 메서드 참조를 쓰고, 그렇지 않을 때만 람다를 사용하라. 메서드 참조를 사용했을때 더 짧고 명확한 소스 List sortedOrders = orders.stream() .sorted(comparing(Order::getCreatedAt)) .map(Order::getId) .collect(Collectors.toList()); 좀 더 짧고 명확한 소스가 되었다. 하지만, 클래스명이 너무 길거나 더 명확하다고 판단되지 않는다면 람다를 사용하자..

Java 2023.03.22

[Effective Java] 아이템 42. 익명 클래스보다는 람다를 사용하라.

🎯 아이템 42. 익명 클래스보다는 람다를 사용하라. 예전에는 자바에서 함수 타입을 표현할 때 추상 메서드를 하나만 담은 인터페이스를 사용했다. 이런 인터페이스의 인스턴스를 함수객체라고 하여, 특정 함수나 동작을 나타내는 데 썼다. 익명 클래스의 인스턴스를 함수 객체로 사용 - 낡은 기법이다! public class Item43 { public static void main(String[] args) { List list = new ArrayList(); list.add("test3"); list.add("te2st3"); list.add("test4"); list.add("5test3"); Collections.sort(list, new Comparator() { @Override public int ..

Java 2023.03.21
728x90
반응형