티스토리 뷰
- 오늘은 어제 알게 된 자바8의 람다 기능 중 하나인 이중 콜론 연산자를 사용해봤다.
[인스턴스]::[메소드명(or new)]
- 위 설명처럼 사용하면 되는데
원래는 이런 방식으로 람다에서 사용하지만
public List<OrdersDto> getOrdersDto(Long memberNum){
List<OrdersDto> lists = ordersRepository.findAllByMember_MemberNum(memberNum)
.stream()
.map(order -> new OrdersDto(order)) // 적용 후
.collect(Collectors.toList());
return lists;
}
static 메서드나 생성자는 아래와 같은 방식으로 생성이 가능하다.
위보다 코드량이나 가독성이 올라간 느낌이 든다.
List<OrdersDto> lists = ordersRepository.findAllByMember_MemberNum(memberNum)
.stream()
.map(OrdersDto::new) // 적용 후
.collect(Collectors.toList());
return lists;
- 사실 큰 기능보다는 가독성과 코드의 양을 줄인다는데 목적이 있다.
- 생성자를 제외하고는 static 메서드만 이런 방식으로 사용가능하다. (인스턴스 생성하면 가능하다는데 그럼 쓸 이유가 없어 보인다.)
- 그러므로 위 코드와 같이 Entity를 Dto로 변환하는 것과 같이 자주사용하는 곳에서 사용하면 좋을 것 같다.
- static은 장점과 단점이 혼재하므로!
- 장점은 불필요한 객체를 만들지 않는다는 점과 빠르다
- 단점은 객체지향적이지 못하고, 시작 -> 종료까지 무조건 메모리에 올라가 있고 interface 구현에 사용하지 못한다.
공부나 코딩 하다보면 12시가 넘어가는 일이 비일비재하므로 그냥 날짜 상관없이 작성날을 내가 적어야겠다.
'TIL' 카테고리의 다른 글
[TIL] 스프링 JPA 페이징 2022/10/21 (0) | 2022.10.21 |
---|---|
[TIL] DTO와 Entity는 어떻게 할것인가?? 2022/10/19 (0) | 2022.10.19 |
[TIL] Java 8을 기본적으로 사용해보자. (0) | 2022.10.18 |
[TIL] 좋은 Entity 설계를 위한 개념들 (0) | 2022.10.16 |
[TIL] JPA 배울 수록 재밌네. (0) | 2022.10.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 이중 콜론 연산자
- JavaScript
- 매크로
- 전처리기
- 표준입출력 함수
- 나만의 강점
- ##연산자
- 영속성전파
- MySql 날짜 차이 구하기
- JPA #cascade
- Java Double형 비교방법
- 네트워크 오더링
- c++ 가변인자
- ajax 403에러
- JPQL 사용하기
- c 매크로
- Java8 #java stream
- C언어
- C++
- javascript 문자열 뒤집기
- 메소드 참조 연산자
- java
- c 가변인자
- Builder #SuperBuilder
- linux select
- Double.compareTo(Double)
- JPA #SPRING #ENTITY #DATABASE
- Til
- #define
- static의 장점 단점
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함