반응형 Develop/Java+Kotlin61 [Java Stream] 자바 스트림 스트림; Stream 데이터의 흐름 java 8에서 추가한 람다를 활용할 수 있는 기술 중 하나 배열 / 컬렉션 인스턴스에 함수 여러 개를 조합해 원하는 결과를 필터링하고 가공된 결과를 얻을 수 있다. 한 번 종료 작업을 한 스트림에 대해서는 재사용 불가 병렬 처리* 가능 -> 여러 스레드가 작업 * 병렬 처리: 하나의 작업을 둘 이상으로 나눠 동시에 진행하는 것 스트림 구조 생성하기: 스트림 인스턴스 생성 가공하기: filtering, mapping 등 원하는 결과 만들기 결과 만들기: 최종 결과 만들어내는 작업 -> 객체.스트림생성().가공().결과만들기(); 식이다. ( 이렇게 연계할 수 있는 방식을 파이프라인이라 부른다고도 한다. ) 1. 생성하기 주로 Collection, Arrays에서 쓰이고.. 2021. 3. 17. [Jackson] com.fasterxml.jackson.core.JsonParseException 에러 com.fasterxml.jackson.core.JsonParseException: Unrecognized field ... 에러 존재하지 않는 필드 명이 존재해서 JSON으로 파싱 에러가 난 것이다. JSON->객체 변환 시 객체의 필드에 선언되지 않은 내용은 무시해주는 설정을 해야한다. 해결 방법은 두 가지가 있다. 1. @JsonIgnoreProperties(ignoreUnknown = true) 추가 아래 예시와 같이 객체 클래스에 어노테이션을 추가한다. import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties.. 2021. 3. 9. [Json] Json의 개념과 형식 개요 JsonNode와 ObjectNode의 차이점을 찾다가 아예 json에 대해 정리하게 되었다. 목차는 다음과 같다. Json의 개념 Java에서 Json 사용하기 - Jackson JsonObject와 JsonArray JsonNode와 ObjectNode Json 관련 사이트들 1. Json이란? key - value가 쌍으로 이루어진 데이터들의 집합 사용자가 key 값을 알고 있으면 데이터를 손쉽게 추출할 수 있다. 각 데이터는 String, Number, Array 등 다양한 형태로 작성이 가능 배열은 '[ ]' 괄호 안에 값들을 담으며, ' , '로 값을 분리하는 것도 가능 프로그래밍 언어의 제약이 거의 없다. 데이터를 전송할 때 최소한의 용량으로 전송하기 위해 사용 2. Java에서 Jso.. 2021. 2. 8. [Java] String, StringBuffer, StringBuilder 실무 코드를 살펴보다보니 String을 +하기보다는 StringBuilder나 StringBuffer를 통해 append하는 것이 많았다. String에서 +가 효율성이 떨어진다고 듣기는 했는데, 구체적인 개념을 정리하기 위해 글을 쓴다. String, StringBuffer, StringBuilder는 java.lang 패키지에 속한 클래스들이다. 별도로 import를 해주지 않아도 사용이 가능하다. String 문자열 implements Serializable, Comparable, CharSequence jdk 1.5 이후부터 +연산은 StringBuilder 사용해 성능 최적화 (단, 여러줄에 걸쳐 +할 경우 StringBuilder도 여러번 선언) public final class String .. 2021. 2. 2. [java] this와 this() this : 인스턴스 자신을 가리키는 참조 변수 - 객체의 주소를 가리킨다 this() : 클래스 내부의 생성자를 호출 - 생성자에서만 호출 가능 - 제일 첫 문장에서 호출 가능 - 생성자 자기 자신 호출 불가 (재귀호출 불가) 예제 public class User { private Integer id; protected String account; public String password; public User(Integer id, String account, String password) { this.id = id; this.account = account; this.password = password; } public User(Integer id) { this(id, "a", "b"); } } 참조.. 2021. 1. 26. [Java] 시간 구하는 방법 비교 Java에서 현재 시간을 구하는 방법은 3가지가 있다. System.currentTimeMillis() new Date() Calendar.getInstance().getTime() System.currentTimeMillis()와 new Date()의 속도 자체는 크게 다르지 않다. 다만 Calendar.getInstance().getTime()의 경우에는 객체 생성부터 윤달 같은 여러 상황을 고려해 계산하기 때문에 상대적으로 느리고 복잡하다. 또한, 10월의 숫자가 '9'이기 때문에 혼란을 야기한다. System.currentTimeMillis()는 객체를 만들지 않고 new Date()는 GC를 이용한다는 점에서 분명 System.currentTimeMillis()가 더 우수한 성능을 보인다. (G.. 2021. 1. 14. [Java] The type java.??? cannot be resolved. It is indirectly referenced from required .class files The type java.time.LocalDateTime cannot be resolved. It is indirectly referenced from required .class files. 라는 오류가 발생했다. 구글링을 해본 결과, 프로젝트에 jdk가 제대로 인식되지 않는 경우에 종종 발생하는 문제다. 프로젝트 우클릭 - Properties - Java Build Path - Libraries 에서 JRE System Library가 제대로 연동되었는지 확인하자. ( JRE를 클릭하고 Edit 버튼을 누르면 수정할 수 있다. ) JRE System Library 변경하는 방법 ▼ 더보기 이후 화면에서는 Finish, Apply 버튼을 누르면 된다. 나는 jdk 연동이 잘 되었음에도 불구하고 문제가.. 2021. 1. 8. 이전 1 ··· 4 5 6 7 다음 반응형