JAVA | 깔끔한 느낌의 새로운 Switch
몇 달 전에 Mkyong님의 블로그를 보고 Java Switch 문에 변화가 생겼다는 걸(오래된 일이지만) 알게 되었다. C, C++ 개발을 할 때 if 문을 더 선호하던 편이라 Java 로 개발언어를 바꾼뒤에도 if 문 체인을 사용하거나, 성능이 중요한 경우에는 Map을 사용해 조건 처리를 하는 경우가 많았다. 몇 일전에 Map 으로만 처리하던 코드를 if 문으로 구현하려고 하니 뭔가 주렁주렁 체인이 생기는 것 같아 새로운 Switch 문을 사용해 보았다. 코드가 훨씬 깔끔해진 느낌이다.
- if 문 체인에 비해 Boilerplate Code 가 적다.
- 그래서 코드가 짧아진다.
- 의미가 좀더 직관적으로 보인다.
- 동일한 행동을 하는 여러개의 조건을 함께 처리하기 편하다.
Switch - case
RxMessage message = switch (id) {
case "L" -> new ToggleStatus(id, content);
case "M" -> new Alarm(id, content);
case "P", "K" -> new Parameters(id, content);
default -> assert false;
};
If - else
RxMessage message;
if (id.equals("L")) {
message = new ToggleStatus(id, content);
} else if (id.equals("M")) {
message = new Alarm(id, content);
} else if (id.equals("P") || id.equals("K")) {
message = new Parameters(id, content);
} else {
assert false;
}
참고
- https://mkyong.com/java/java-12-switch-expressions/
- https://nipafx.dev/java-switch/
- https://gocoder.tistory.com/2183
Author And Source
이 문제에 관하여(JAVA | 깔끔한 느낌의 새로운 Switch), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@joosing/JAVA-깔끔한-느낌의-새로운-Switch저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)