티스토리 뷰
728x90
반응형
스트림을 사용하다 보면 분명히 Intstream을 사용중인데 max(), min(), average()등에서 에러가 나곤 한다.
이때 최종연산에 int 변환을 붙이거나
반환 타입을 OptionalInteger로 변환하면 해결된다.
반환타입을 double로 받고 싶을 때도 마찬가지 에러가 나는데,
이는 max(), min(), average()의 반환타입이 기본적으로 OptionalInt, OptionalDouble이기 때문이다.
설명을 읽어보면 스트림이 비어있는 경우에 비어있는 optional을 반환한다고 쓰여있다.
NullPointerException을 피하기위한 장치로 보이는데, 결과부터 말하면
- Optional<Integer> = OptionalInt
- Optional<Double> = OptionalDouble
이다.
귀찮아도 원하는 타입으로의 변환을 잊으면 안 되겠다.
Optional에 대한 추가 설명은 아래 글에 정리되어 있다.
반응형
'Java+Spring > Java' 카테고리의 다른 글
[Java]스트림으로 이중 반복문 돌기, 구구단 출력 (2) | 2022.10.07 |
---|---|
[Java]스트림으로 List ↔ Array 변환 (2) | 2022.10.04 |
[Java]스트림 map() vs. flatMap() (4) | 2022.10.01 |
[뻘글]프로그래밍 언어 모에화(...) (2) | 2022.09.30 |
[Java]자바 스트림 합치기 Stream.concat() (4) | 2022.09.30 |
[Java]빌더 패턴(Builder Pattern) (2) | 2022.09.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 세계여행
- 중남미
- Backjoon
- BOJ
- 면접 준비
- 파이썬
- 맛집
- Algorithm
- java
- Python
- 스트림
- 스프링
- 리스트
- a6000
- 여행
- 유럽
- 자바
- 기술면접
- 칼이사
- 남미
- 백준
- 알고리즘
- 세계일주
- 동적계획법
- RX100M5
- 야경
- 유럽여행
- 지지
- 세모
- spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함