Optional<T>
- ์ง๋ค๋ฆญ ํด๋์ค. Tํ์ ์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ธ๋ ๋ํผํด๋์ค.
- Optionalํ์ ์ ๊ฐ์ฒด์๋ ๋ชจ๋ ํ์ ์ ์ฐธ์กฐ๋ณ์๋ฅผ ๋ด์ ์ ์์.
Optional ๊ฐ์ฒด์์ฑ
Optional<T>ํ์ ์ ์ฐธ์กฐ๋ณ์๋ฅผ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ด๊ธฐํํ๊ธฐ
- Optional.<T>empty(): T ํ์ ์ ๋น Optional ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ public static ๋ฉ์๋.
Optional ๊ฐ์ฒด์ ์ ์ฅ๋ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
Optional ๊ฐ์ฒด์ ์ฌ์ฉ๊ฐ๋ฅํ ์คํธ๋ฆผ ๋ฉ์๋
- filter( ), map( ), flatMap( )
- Optional๊ฐ์ด null์ด๋ฉด ์ด ๋ฉ์๋๋ค์ ์๋ฌด์ผ๋ ํ์ง ์์.
boolean์ผ๋ก ๋ฐํํ๋ ๋ฉ์๋
Stream์๋ฉ์๋์ค Optional<T>๋ฅผ ๋ฐํํ๋ ๊ฒ
- ๊ณตํต์ : null์ผ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ํฐ ๊ฒ๋ค, ์คํธ๋ฆผ์ด ๋น์ด์์ ์ ์๊ธฐ ๋๋ฌธ.
OptionalInt, OptionalLong, OptionalDouble
- IntStream๊ณผ ๊ฐ์ ๊ธฐ๋ณธํ ์คํธ๋ฆผ์๋ Optional๋ ๊ธฐ๋ณธํ์ ๊ฐ์ผ๋ก ํ๋ ๊ฒ์ ๋ฐํํจ. (OptionalInt, OptionalDouble ๋ฑ)
- ๊ฐ์ฒด์ ์ ์ฅ๋ ๊ฐ์ ๊บผ๋ผ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋๊ฐ ์ฝ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ฃผ์ํ ๊ฒ.
<๊ฐ์ฒดํ์ > vs <๊ฐ ๋ฐํ ๋ฉ์๋>
OptionalInt.of( 0 ) vs OptionalInt.empty( )
Optional.ofNullable(null); vs Optional.empty( );
'๐ฅ๏ธ ๋ฐฑ์๋ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ch.15] ์ ์ถ๋ ฅ I/O - ๋ฐ์ดํธ ์คํธ๋ฆผ (1) | 2023.11.21 |
---|---|
[ch.15] ์ ์ถ๋ ฅ I/O (0) | 2023.11.20 |
[ch.14] ์คํธ๋ฆผ์ ์ต์ข ์ฐ์ฐ (0) | 2023.11.15 |
[ch.14] ์คํธ๋ฆผ์ ์ค๊ฐ์ฐ์ฐ (0) | 2023.11.15 |
[ch.14] ์คํธ๋ฆผ์ ์์ฑ (0) | 2023.11.15 |