[troubleShooting, JAVA] optionaldouble cannot be converted to doubleProject/(공통)troubleshooting2023. 5. 28. 14:37
Table of Contents
optionaldouble cannot be converted to double
💡 자바의 Stream 에서 optional 때문에 발생한 이슈
에러 코드
import java.util.Arrays;
class Solution {
public double solution(int[] numbers) {
return Arrays.stream(numbers).average();
}
}
/Solution.java:10: error: incompatible types: OptionalDouble cannot be converted to double
return Arrays.stream(numbers).average();
^
1 error
핵심 요점
- stream연산에서 반환한 값이 null일 수 있는 optionalDouble값을 반환하지만, null일 경우 대체할 값을 지정하지 않았기 때문에 발생하는 에러.
- null일 경우 초기화 할 값을 orElse([초기값])으로 지정해주면 된다.
해결 방안
- Arrays.stream(numbers).average() 뒤에 .orElse(0)를 추가함으로써, null값이 올 경우 0으로 초기화.
import java.util.Arrays;
class Solution {
public double solution(int[] numbers) {
return Arrays.stream(numbers).average().orElse(0);
}
}
'Project > (공통)troubleshooting' 카테고리의 다른 글
@Yanako :: Yana's coding story였는데요, 우당탕탕 개발일지가 맞는것같
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!