Java (48) 썸네일형 리스트형 [JAVA] 타입 소거 (Type Erasure) 자바의 타입 소거? 자바의 설계 철학과 하위 호환성 때문에 생긴 개념. 기존 자바코드(JDK 1.4 이하)는 아래처럼 타입 안정성이 보장되지 않았었는데List list = new ArrayList();list.add("hello");list.add(123); // 문제 없음자바5부터 아래처럼 제네릭이 도입되면서 컴파일 과정에서 데이터 타입을 검사하게 됨.List list = new ArrayList();list.add("hello");list.add(123); // 컴파일 에러 제네릭 기능을 기존 자바 코드와 호환되게 하면서도, JVM 구조를 변경하지 않고 도입하기 위한 기법이 타입 소거!!컴파일 시에 제네릭을 검사하지만, 컴파일 이후에는 타입 정보가 사라지게 된다. 이로 인해 아래의 문제점들이 발생.. [Java] ObjectMapper (2) TypeReference, 설정메서드, 어노테이션 * TypeReference Jackson의 ObjectMapper에서 제공하는 클래스로역직렬화(deserialization) 과정에서 제네릭 타입 정보를 전달하기 위해 사용.** 단일 객체가 아닌 복잡한 타입인 경우, 런타임에 타입 정보가 사라지기 때문에 명시적으로 타입을 전달해줘야함. List, Map, List> JSON 문자열 --> List String json = "[{\"name\":\"phyho\",\"age\":10}]";List users = mapper.readValue(json, new TypeReference>() {}); JSON 문자열 --> MapString json = "{\"name\":\"phyho\", \"age\":10}";Map map = mapp.. [Java] ObjectMapper (1) 주요 메서드 * ObjectMapper Jackson 라이브러리에서 제공하는 클래스로 JSON 데이터와 Java 객체 간의 직렬화 및 역직렬화에 사용. ( Java 객체 ↔ JSON ) ex) User 클래스public class User { private String name; private int age; // 생성자와 getter/setter 필수 public User() {} public User(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } .. [Java] "".equals(null) (equals 메서드) String.equals(Object obj) 메서드는 내부적으로 매개변수가 null일 경우 false를 반환한다.null.equals("")는 예외를 발생시키지만, "".equals(null)은 안전하게 false를 반환!! (equals메서드 내부로직)@Overridepublic boolean equals(Object anObject) { if (this == anObject) { // 같은 객체인지 확인 return true; } if (anObject instanceof String) { // anObject가 String 타입인지 확인 String anotherString = (String) anObject; int n = value.le.. [오류 / STS] 기본 클래스 com.(경로).TestApplication을(를) 찾거나 로드할 수 없습니다. 오류: 기본 클래스 com.(경로).TestApplication을(를) 찾거나 로드할 수 없습니다. => 메인클래스를 잡지 못해서 발생하는 오류. SVN에서 프로젝트 checkout이후 모든 설정을 이전과 동일하게 맞춰줬는데도 계속 오류가 났다.=> maven install 로 해결. maven install 하면 하위 경로에 관련 라이브러리가 설치된다.C:\사용자\.m2\repository포맷 & 윈도우 재설치로 모든 디렉토리가 초기화된 상태였고,결국 로컬에 maven 라이브러리가 없어서 발생한 오류였다.일반적으로 첫 세팅시 필요! maven install - 의존성 다운로드: pom.xml에 정의된 외부 라이브러리(JAR 등) 를 원격 저장소(Maven Central, Nexus 등)에서 가져와 .. [JPA] Querydsl 벌크삭제 (2) 테이블의 데이터들이 다대다 관계로 구성되어 있고 하나의 데이터를 삭제할 때 관련된 모든 테이블의 데이터를 삭제하기 위해 QueryDSL 공통로직 생성. (이전방식) 서비스 로직에서 엔티티별 Q클래스 생성 & 쿼리작성https://phyho.tistory.com/315 각 User는 여러 Order를 가질 수 있고, 또한 여러 Post를 가질 수 있음. User 엔티티 삭" data-og-host="phyho.tistory.com" data-og-source-url="https://phyho.tistory.com/315" data-og-url="https://phyho.tistory.com/315" data-og-image="https://scrap.kakaocdn.net/dn/n9Pem/hyX7Y9TJ.. [오류 / IntelliJ] org.apache.ibatis.binding.BindingException: Parameter '변수명' not found (MyBatis 쿼리 매핑 오류) org.apache.ibatis.binding.BindingException: Parameter '변수명' not foundxml파일의 여러 쿼리문 중 딱 하나의 쿼리문에서만 매핑오류 발생. service에서 mapper로 넘어가는 부분에서 로직이 멈추고,서비스 로직에서 에러 로그를 출력해보니 아래처럼 나온다.org.mybatis.spring.MyBatisSystemException: null 이유를 찾아보니 대부분 변수명 혹은 parameterType 오타문제라는데 오타는 없었음.(String param1, String param2) 로 전달하던 파라미터를 (Map param)의 형태로 변환해서 전달해줬더니 오류없이 성공. Build - Rebuild Project 과정에서 두번째 오류 발생.org... [오류] ClassNotFoundException 오류 (자바 버전 오류) + 컨테이너 생성오류 보호되어 있는 글입니다. 이전 1 2 3 4 ··· 6 다음