Java Convenience Factory 메서드
1. 연혁 및 동기 Java에서 불변의 작은 컬렉션을 만드는 것은 전통적인 방식을 사용하는 매우 장황한 작업이다. Set의 예이다. Set<String> set = new HashSet<>(); set.add("foo"); set.add("bar"); set.add("baz"); set = Collections.unmodifi...
1. 연혁 및 동기 Java에서 불변의 작은 컬렉션을 만드는 것은 전통적인 방식을 사용하는 매우 장황한 작업이다. Set의 예이다. Set<String> set = new HashSet<>(); set.add("foo"); set.add("bar"); set.add("baz"); set = Collections.unmodifi...
1. yyyy-MM-dd HH:mm:ss 형태 Json { "dateTime": "2023-05-24 09:30:50" } ExampleDto.java import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import java.sql.T...
1. 오류 메시지 String 형태의 DateTime을 DB에 입력하기 위해 Timestamp 형으로 변환시 생기는 오류이다. gson java.text.ParseException Invalid time zone indicator '0' 2. 해결방법 밀리세컨드 형태의 DateTime이기 때문에 Gson의 설정이 필요하다. Json {...
1. 표준 자바 사용 1) Java의 toUnmodifiableList 사용 Java 10부터 Java의 수집기 클래스에서 toUnmodifiableList 메서드를 사용할 수 있다. List<String> givenList = Arrays.asList("a", "b", "c"); List<String> result = giv...
1. 정수 목록에서 최대값 찾기 메서드 참조를 허용하는 java.util.Stream 인터페이스 를 통해 제공되는 max() 메서드를 사용할 수 있다. @Test public void whenListIsOfIntegerThenMaxCanBeDoneUsingIntegerComparator() { // given List<Intege...
1. 설정 컬렉션 Collection<String> collectionA = Arrays.asList("S", "T"); Collection<String> collectionB = Arrays.asList("U", "V"); 2. 자바 8 스트림 API 사용 Java API의 Stream 인터페이스는 컬렉션을 보다 쉽게 처리...
1. 두 Array 결합 Stream.concat을 사용하여 두 배열을 결합한다. @Test public void whenJoiningTwoArrays_thenJoined() { String[] animals1 = new String[] { "Dog", "Cat" }; String[] animals2 = new String[] { "B...
1. 컬렉션 압축 두 개의 컬렉션을 하나의 논리적 컬렉션으로 압축하는 방법이다. “zip” 작업은 표준 “concat” 또는 “merge”와 약간 다르다. “concat” 또는 “merge” 작업은 단순히 기존 컬렉션의 끝에 새 컬렉션을 추가하는 반면, “zip” 작업은 각 컬렉션에서 요소를 가져와 결합한다. 핵심 라이브러리는 “zip”을 암시적으...
1. 중첩 컬렉션의 예 String 유형의 목록이 있다고 가정한다. List<List<String>> nestedList = asList( asList("one:one"), asList("two:one", "two:two", "two:three"), asList("three:one", "three:two", "th...
1. List 섞기 List를 입력으로 받아 제자리에서 섞는 java.util.Collections.shuffle 메서드를 사용한다. 인플레이스(in-place)란 섞인 요소로 새 목록을 만드는 대신 입력으로 전달된 것과 동일한 List를 섞는 것을 의미한다. List를 섞는 방법을 보여주는 간단한 예이다. List<String> stu...