:: 더블콜론 의미
java8 버전에서 등장한 ::(더블콜론)은
1 . 람다 표현식이 단 하나의 메서드만을 호출하는 경우
2. 람다 표현식이 단순히 객체를 생성하고 반환하는 경우
불필요한 매개변수를 제거하여 간단하게 표현할 수 있도록 도와주는 역할을 합니다.
문법
클래스이름::메소드이름
참조변수이름::메소드이름
Object::new
예시
1 . 메서드를 참조하는 경우
public void doubleColon(){
List<String> list = Arrays.asList("first", "second", "third", "forth");
list.forEach(item -> System.out.println(item)); // 기본 람다식
System.out.println("----------");
list.forEach(System.out::println); // :: 문법
}
결과
first
second
third
forth
----------
first
second
third
forth
2. 생성자를 참조하는 경우
public void doubleColon(){
Function<String, Food> function1 = (String a) -> new Food(a); // 람다식
Food food = function1.apply("pizza");
System.out.println(food.getName());
Function<String, Food> function2 = Food::new; // :: 문법
food = function2.apply("pasta");
System.out.println(food.getName());
}
결과
pizza
pasta
public class Food{
private String name;
public Food(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
'Java' 카테고리의 다른 글
[Java] SHA-256 암호화 & Salt ( 적용예시 ) (1) | 2023.05.17 |
---|---|
[Java] ArrayList 정렬 / Collections, List, 사용자정의 (0) | 2023.05.07 |
[java] java버전 변경 ( java 8 -> java 17) (0) | 2023.03.27 |
[Java] 환경변수 설정 (0) | 2022.11.22 |
[Java] 오라클 연동 (0) | 2022.11.15 |