본문 바로가기

Java/topic9

열거타입 enum을 사용하기 적절한 순간 Enum 클래스 열거형 클래스. Enum 클래스 내의 정의된 엘리먼트들은 public static final 형태로 사용된다. 그래서 같은 의미로 '연관된 상수들의 집합'으로 정의하기도 한다. (java 1.5 도입) public enum Batting { STRIKE, BALL, HIT; private static final Random random = new Random(); public static Batting generate() { int pick = random.nextInt(Batting.values().length); return Batting.values()[pick]; } } 예시 코드를 보면 어떤 야구 게임 내 도메인 모델을 구현한 도메인 객체(엔티티 클래스)에서 스트라이크, 볼, 안.. 2023. 3. 5.
모던 자바 인 액션 - Stream을 사용해보자 자바 8에서는 Stream API가 도입되어 데이터 처리를 간단하게 하고 가독성을 높혀서 코드 유지보수성을 높이고, 개발자의 생산성을 향상시킬 수 있다. Stream API를 사용하면 배열, 리스트, 파일 등 다양한 소스에서 요소를 추출하고 처리할 수 있다 스트림은 데이터 소스를 변경하지 않으며, 작업을 수행하는 중간 단계와 최종 작업으로 나뉘어진다. 이러한 중간 작업은 Lazy Evaluation 방식으로 처리되며, 최종 작업이 호출되기 전까지는 실행되지 않는다. 이러한 특징 때문에 처리 속도를 높일 수 있다. // 배열 스트림 예시 int[] numbers = {1, 2, 3, 4, 5}; IntStream stream = Arrays.stream(numbers); stream.forEach(Syst.. 2023. 3. 5.
모던 자바 인 액션 - 자바8 함수형 인터페이스 정리 함수형 인터페이스 사용법 함수형 인터페이스의 추상 메서드는 람다 표현식의 시그니쳐를 묘사한다. (함수 디스크립터) 자바 API는 Comparable, Runnable, Callable 등의 다양한 함수형 인터페이스를 포함하고 있음 java 8 에서 java.util.function 패키지로 다양한 함수형 인터페이스를 제공한다. 대표적인 함수형 인터페이스 3가지 - Predicate, Consumer, Function java.util.function.Predicate test 라는 추상메서드를 정의한다. 함수 디스크립터: T → boolean @FunctionalInterface public interface Predicate { boolean test(T t); } public List filter(L.. 2023. 2. 28.
printf() 지시자 정리 지시자 정리 %b: boolean %d: decimal %o: octal %x. %X: hexa-decimal %f: floating-pint %e, %E: exponential expression %c: character %s: String %n: new line 지시자 앞에 #를 넣으면 접두사 0x, 0 등 radix 정보까지 붙는다 %X는 16진수에 사용되는 접두사와 영문자를 대문자로 출력한다 char타입을 %d로 출력할려면 형변환해야된다. (C는 안해도 출력가능) %.n 문자열 n글자 일부만 출력 System.out.printf("%5d%n", 10); // 5칸만큼 오른쪽정렬 System.out.printf("-5d%n", 10); // 왼쪽정렬 System.out.printf("%05d%n",.. 2022. 10. 30.