코드의 최적화 및 성능 개선을 위해서는 if-else문보다 switch문이 더 효율적이지만 컴파일러나 코드 상황에 따라 다르고
보통 if문이 3개일 때까지는 if-else문이 더 빠르고, 그 이상이면 switch-case문을 사용하는 것이 더 효율적이고, 코드 최적화에 좋다.
특히,Java의 switch는 Enum이랑 찰떡궁합이다!
switch를 쓸 때 주의사항은 break
를 빼먹지 말자!
✨ break 를 빼먹으면, 조건에 해당여부와 무관하게 남은 case들이 다 실행이 된다!
코드 예시
public void changeStatusByInfo(Integer stateCode) {
// 100 임시저장
// 300 발행완료
// 301 전송전
// 302 전송대기
// 303 전송중
// 304 전송성공
// 305 전송실패
// 600 발행취소
switch (stateCode) {
case 300:
this.status = InfoStatus.ISSUED;
break;
case 301:
this.status = InfoStatus.PRE_TRANSMISSION;
break;
case 302:
this.status = InfoStatus.WAITING_TRANSMISSION;
break;
case 303:
this.status = InfoStatus.TRANSMITTING;
break;
case 304:
this.status = InfoStatus.TRANSMISSION_SUCCESS;
break;
case 305:
this.status = InfoStatus.TRANSMISSION_FAILURE;
break;
case 600:
this.status = InfoStatus.ISSUE_CANCEL;
break;
default:
this.status = InfoStatus.ETC;
break;
}
}