Java Switch NPE ํผํ๊ธฐ String str = null; switch (str) { case "one": System.out.println("1"); break; case "two": System.out.println("2"); break; default: System.out.println("default"); break; } ์์ ๊ฐ์ ์ฝ๋์์ switch(์กฐ๊ฑด) -> (์กฐ๊ฑด)์ ๋ค์ด๊ฐ๋ ๋ณ์๊ฐ null์ผ ๊ฒฝ์ฐ NPE๊ฐ ๋ฐ์ํ๋ค. ๋น์ฐํ ๊ฒฐ๊ณผ์ผ์๋ ์์ง๋ง, ์๊ฐ๋ณด๋ค ๋์น ์ ์๋ ๋ถ๋ถ์ด๋ผ ๊ธ๋ก ๋จ๊ฒจ ๋์ผ๋ ค๊ณ ํ๋ค. ๋ํ, NPE๋ฅผ ํผํ๊ธฐ ์ํ ๋ฐฉ๋ฒ ๋ช๊ฐ์ง๋ฅผ ์๊ฐํ๋ค. ์ฌ์ค ๋ค ์ฉ ๋ง์ ๋๋ ๋ฐฉ๋ฒ์ ์๋๋ผ, Pattern Matching ๊ธฐ๋ฅ์ด ๋์
๋ switch๋ฌธ์ ์ฌ์ฉ(java 17 ์ดํ..
Java
@UtilityClass UtilityClass๋ฅผ ์์ฑํ ๋, ์ดํํฐ๋ธ ์๋ฐ์์ ์ ํธ ํด๋์ค์ ๋ํ ์ธ๊ธ์ด ์์๋ ๊ธฐ์ต์ด ๋์ ๊ตฌ๊ธ๋ง ํ๋ค๊ฐ ์ฐพ์ ์ด๋
ธํ
์ด์
boilerplate๋ก ๊ฐ์ฃผํ ๋งํผ ์ผ๋ฐ์ ์ธ์ง์ ๋ํ ๋
ผ์์ด ์๋ ํ์์ด๋ผ ์คํ ๊ธฐ๋ฅ์ผ๋ก ๋์
๋์๋ค๊ณ ํจ (lombok v1.16.2) boilerplate : ์ต์ํ์ ๋ณ๊ฒฝ์ผ๋ก ์ฌ๋ฌ๊ณณ์์ ์ฌ์ฌ์ฉ๋๋ฉฐ, ๋ฐ๋ณต์ ์ผ๋ก ๋น์ทํ ํํ๋ฅผ ๋๋ ์ฝ๋๋ฅผ ๋งํ๋ค. ๊ธฐ๋ฅ private ์์ฑ์๊ฐ ์๋์ผ๋ก ์์ฑ๋์ด ์ธ์คํด์คํ ํ ์ ์๊ฒ ๋ง์ final class ์ผ๋ก ์ง์ ๋์ด ์์ ๋ฐ์ ์ ์๊ฒ ๋จ ๋ด๋ถ์ ๋ชจ๋ ๋ฉค๋ฒ์ ๋ฉ์๋๋ static ์ฒ๋ฆฌ ๋จ. (inner class static ์ฒ๋ฆฌ ๋จ) // With Lombok import lombok.experimental..
๋น์ 1์ผ ๋ฐ ๋ง์ผ ๊ตฌํ๊ธฐ 1์ผ : firstDayOfMonth() ๋ง์ผ : lastDayOfMonth() 00:00:00 ๋ฐ 23:59:59๋ LocalTime.MIN ๋ฐ LocalTime.MAX ๋ฅผ ์ด์ฉํ๋ค import static java.time.temporal.TemporalAdjusters.* LocalDateTime today = LocalDateTime.now(); LocalDateTime starttime = today.with(firstDayOfMonth()).with(LocalTime.MIN); // ๋น์ 1์ผ 00:00:00 LocalDateTime endtime = today.with(lastDayOfMonth()).with(LocalTime.MAX); // ๋น์ ๋ง์ง๋ง๋ 23:5..
MyBatis parameterType, resultType์ Static Inner Class ์ฌ์ฉ OuterClass$InnerClass๋ก ์ ๊ทผ $๋ ๋ณ์๋ฅผ ์๋ฏธํ๋ ๊ฒ ์๋๋ผ, Java์ ํน์ฑ๋๋ฌธ์
๋๋ค. Java์์ ํ๋ก๊ทธ๋๋ฐํ ๋์๋ Class์์์ InnerClass์ ์ ๊ทผํ ๋, ๋ชจ๋ ๊ตฌ๋์ ์ ์ฌ์ฉํ์ง๋ง, ํน์ ํด๋์ค๋ฅผ ์ฝ์ด์์ผ ํ๋ ํด๋์ค๋ก๋์์๋ Package namespace๋ ๊ตฌ๋์ (.)์ผ๋ก ๊ตฌ๋ถํ๊ณ , ํด๋์ค์ InnerClass์ namespace๋ $๋ก ๊ตฌ๋ถํฉ๋๋ค. ํ๋์(Daeyoung Heo) 2016.4.22 00:42 ๐ Reference ๋๋ณด๊ธฐ https://hashcode.co.kr/questions/1753/mybatis%EC%97%90%EC%84%9C-inner-cla..
ํ์ ์ด๋ฐฅ (๋ฌธ์ _ 15961) ํ์ ์ด๋ฐฅ ์์์ ์๋ ํ์ ํ๋ ๋ฒจํธ ์์ ์ฌ๋ฌ ๊ฐ์ง ์ข
๋ฅ์ ์ด๋ฐฅ์ด ์ ์์ ๋ด๊ฒจ ๋์ฌ ์๊ณ , ์๋์ ์ด ์ค์์ ์๊ธฐ๊ฐ ์ข์ํ๋ ์ด๋ฐฅ์ ๊ณจ๋ผ์ ๋จน๋๋ค. ์ด๋ฐฅ์ ์ข
๋ฅ๋ฅผ ๋ฒํธ๋ก ํํํ ๋, ๋ค์ ๊ทธ๋ฆผ์ ํ์ ์ด๋ฐฅ ์์์ ์ ๋ฒจํธ ์ํ์ ์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ๋ฒจํธ ์์๋ ๊ฐ์ ์ข
๋ฅ์ ์ด๋ฐฅ์ด ๋ ์ด์ ์์ ์ ์๋ค. ์๋ก ๋ฌธ์ ์ฐ ํ์ ์ด๋ฐฅ ์์์ ์ด ๋ถ๊ฒฝ๊ธฐ๋ก ์์
์ด ์ด๋ ค์์, ๋ค์๊ณผ ๊ฐ์ด ๋ ๊ฐ์ง ํ์ฌ๋ฅผ ํตํด์ ๋งค์์ ์ฌ๋ฆฌ๊ณ ์ ํ๋ค. ์๋ ํ์ ์ด๋ฐฅ์ ์๋์ด ๋ง์๋๋ก ์ด๋ฐฅ์ ๊ณ ๋ฅด๊ณ , ๋จน์ ์ด๋ฐฅ๋งํผ ์๋๋ฅผ ๊ณ์ฐํ์ง๋ง, ๋ฒจํธ์ ์์์ ํ ์์น๋ถํฐ k๊ฐ์ ์ ์๋ฅผ ์ฐ์ํด์ ๋จน์ ๊ฒฝ์ฐ ํ ์ธ๋ ์ ์ก ๊ฐ๊ฒฉ์ผ๋ก ์ ๊ณตํ๋ค. ๊ฐ ๊ณ ๊ฐ์๊ฒ ์ด๋ฐฅ์ ์ข
๋ฅ ํ๋๊ฐ ์ฐ์ธ ์ฟ ํฐ์ ๋ฐํํ๊ณ , 1๋ฒ ํ์ฌ์ ์ฐธ๊ฐํ ๊ฒฝ..