Optional์—์„œ orElse()์™€ orElseGet()์€ ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ?

Optional์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ๋งˆ์ง€๋ง‰์— orElse() ๋˜๋Š” orElseGet()๋ฅผ ์ด์šฉํ•ด ์›๋ž˜ ๊ฐ’์„ ์–ป์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ์ €๋Š” ๋‘ ๋ฉ”์„œ๋“œ์˜ ์ฐจ์ด๊ฐ€ ๋‹จ์ˆœํžˆ ์ „๋‹ฌํ•ด์•ผํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ฐจ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด orElse(defaultValue), orElseGet(this::getDefaultValue) (๋˜๋Š” orElseGet(() -> getDefaultValue())) ์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋‚˜๋Š” ๊ฐ’์„ ์ „๋‹ฌํ•˜๊ณ  ํ•˜๋‚˜๋Š” ๊ตฌํ˜„์ฒด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๋Š” ์ •๋„๋กœ๋งŒ ์ƒ๊ฐํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ mocking์„ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ณธ๋ฌธ๊ณผ ํฌ๊ฒŒ ๊ด€๋ จ ์—†๋Š” ๋‚ด์šฉ(์–ด๋–ค ํ…Œ์ŠคํŠธ๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š์•˜๋Š”์ง€)์ด๋ผ ์ ‘์–ด๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ํ•  ํด๋ž˜์Šค๋Š” Servi..

Java 2023. 2. 1. 10:30
๊ณต์ง€์‚ฌํ•ญ
Total
202,075
Today
1
Yesterday
511
๋งํฌ
ยซ   2023/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
๊ธ€ ๋ณด๊ด€ํ•จ