public enum BinaryStringFormat{ /** Base 64 Encoding */ Base64, /** Hex decimal encoding */ HexDecimal } public enum SortDirection { /** 올림차순 */ ASC, /** 내림차순 */ DESC } enum 명명 규칙은 기본적으로는 상수 명명규칙과 같다 다만 요즘은 Class 명명규칙을 사용하기도 한다
16.
try { thread.join(); } catch(InterruptedException ignored) { log.debug("스레드 종료 대기 중에 interrupted exception 이 발생했습니다."); } 발생한 예외를 무시할 경우에는 ‘ignored’ 로 무시함을 표현해라 switch (format) { case HexDecimal: return byteArrayToHexString(bytes); case Base64: return byteArrayToBase64String(bytes); default: throw new NotSupportedException("지원하지 않는 format 입니다. format=" + format); } switch 구문에서는 꼭 default: 를 이용하여, 처리되지 않는 case 가 없도록 한다.
17.
@Slf4j public final classStreamEx { private StreamEx() {} public static IntArrayList asIntArrayList(@NonNull IntStream intStream) { return IntArrayList.newListWith(intStream.toArray()); } static method 만 있는 static class 는 private 생성자를 정의하라
18.
Abstract class 의생성자는 protected 로 선언해라 상속받는 Concrete class 에서 public constructor 를 정의한다. @Getter public abstract class AbstractConfigElement { protected final Config config; protected AbstractConfigElement(@NonNull Config cfg) { this.config = cfg; } }