Optional Class

java.util.Optional Class

Optional class ๋ž€?

  • Optional<T> class๋Š” Integer๋‚˜ Double class ์ฒ˜๋Ÿผ โ€˜Tโ€™ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•ด ์ฃผ๋Š” Wrapper class์ด๋‹ค

    • ๋”ฐ๋ผ์„œ Optional ์ธ์Šคํ„ด์Šค๋Š” ๋ชจ๋“  ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค

  • Optional ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ NullPointerException ์„ ๊ฐ„๋‹จํžˆ ํ•  ์ˆ˜ ์žˆ๋‹ค

    • ์ฆ‰, ๋ณต์žกํ•œ ์กฐ๊ฑด๋ฌธ ์—†์ด๋„ null ๊ฐ’์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค

Optional ๊ฐ์ฒด์˜ ์ƒ์„ฑ

of() method๋‚˜ ofNullable() method๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Optional ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค

  • of() method

    • null์ด ์•„๋‹Œ ๊ฐ’์„ ๋ช…์‹œํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ง€๋Š” Optional ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค

    • ๋งŒ์•ฝ of() method๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ Optional ๊ฐ์ฒด์— null์ด ์ €์žฅ๋˜๋ฉด, NullPointerException ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค

  • ofNullable() method

    • ๋งŒ์•ฝ ์ฐธ์กฐ ๋ณ€์ˆ˜์˜ ๊ฐ’์ด null์ด ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋ฉด, ofNullable() method๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Optional ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š”๊ฒƒ์ด ์ข‹๋‹ค

    • ofNullable() method๋Š”

      • ๋ช…์‹œ๋œ ๊ฐ’์ด null์ด ์•„๋‹ˆ๋ฉด ๋ช…์‹œ๋œ ๊ฐ’์„ ๊ฐ€์ง€๋Š” Optional ๊ฐ์ฒด๋ฅผ returnํ•˜๊ณ ,

      • ๋ช…์‹œ๋œ ๊ฐ’์ด null์ด๋ฉด ๋น„์–ด์žˆ๋Š” Optional ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค

Last updated