Java

Java/오류 해결

[Java 오류] java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long, class java.util.ArrayList cannot be cast to class java.time.LocalDateTime

1. 문제 상황 // claim 정보 -> Member 로 변환 public static Member fromJwtClaims(Map jwtClaims) { // 오류 발생 코드1 long id = (Long) jwtClaims.get("id"); // 오류 발생 코드2 LocalDateTime createDate = (LocalDateTime) jwtClaims.get("createDate"); LocalDateTime modifyDate = (LocalDateTime) jwtClaims.get("modifyDate"); // 끝 String username = (String) jwtClaims.get("username"); String email = (String) jwtClaims.get("emai..

Java/Java 학습

[JAVA] Java14 개선된 Switch 문

1. 기존의 switch 문 switch (day) { case MONDAY: case FRIDAY: case SUNDAY: System.out.println(6); break; case TUESDAY: System.out.println(7); break; case THURSDAY: case SATURDAY: System.out.println(8); break; case WEDNESDAY: System.out.println(9); break; } 2. 개선된 swtich 문 switch (day) { case MONDAY, FRIDAY, SUNDAY-> System.out.println(6); case TUESDAY -> System.out.println(7); case THURSDAY, SATURDAY..

Java

mac git 설치 및 Intellij github 연동

1. git 설치 [참고] https://velog.io/@wijoonwu/Mac-OS-%EC%97%90%EC%84%9C-Git-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 맥에서 Git 설치하기 Mac OS 에서 Git 설치하기 velog.io 2. Intellij github 연동 [참고] https://suyeoniii.tistory.com/41

Java/Java 학습

[JAVA] isEqualTo() vs isSameAs() vs isInstanceOf() 비교

1. isSameAs() 와 isEqualTo() 와 isInstatnceOf() 비교 1) isSameAs() -> == isSameAs() 는 주소값을 비교하는 메서드다. String a = "apple"; String b = a; // 주소값이 같은지 검증 assertions.assertThat(a).isSameAs(b); 2) isEqualTo() -> equals() 메서드 isEqualTo() 는 대상의 내용 자체를 비교하는 메서드다. String a = "apple"; String b = "apple"; // 1. 내용이 같은지 검증 -> 성공 assertions.assertThat(a).isEqualTo(b); // 2. 주소값이 같은지 검증 -> 실패 assertions.assertTha..

Java/Java 학습

[JAVA] 성공 테스트 & 실패 테스트

1. 성공 테스트 테스트할 코드가 성공해야하는 경우, 제대로 로직이 실행되는지 확인하기 위해서 Assertions.assertThat() 을 활용한다. 1) assertThat(actual).isEqualTo(expected): 실제값(actual)이 기대값(expected)와 같은 값인지 검증 2) assertThat(actual).isInstatceOf(expected): 실제값(actual)이 기대값(expected)와 같은 객체 타입인지 검증 2. 실패 테스트 테스트할 코드가 실패해야 경우, 예외가 제대로 발생하는지 확인하기 위해서 Assertions.assertThrows() 을 활용한다. 1) assertThrows(예외 타입, 람다식): 오른쪽 람다식을 수행했을 때, 해당 예외 타입의 예외가..

Java/Do It! 자바 프로그래밍

[JAVA] 15-7. 그 외 입출력 클래스

1. File 클래스 File 클래스는 파일 및 디렉토리에 대한 정보를 제공하는 클래스다. (파일에 대한 입출력은 스트림에서 제공) 생성자 매개변수 설명 File(String pathname) 파일 경로(이름) File 객체 생성 (주의) new 로 생성자를 호출하면 File 이 생성되는 것이 아니라 File 객체가 생성되는 것이다. boolean createNewFile() 주어진 이름의 파일이 없으면 파일 새로 생성 boolean delete() 파일이나 디렉토리 삭제(디렉토리는 비어있어야 삭제O) boolean isFile() 해당 경로가 file 인지 여부 반환 boolean isDirectory() 해당 경로가 디렉토리인지 여부 반환 String getName() 파일/디렉토리 명 반환 Stri..

Java/Do It! 자바 프로그래밍

[JAVA] 15-6. 직렬화

1. 직렬화와 역직렬화 1. 직렬화와 역직렬화 1) 직렬화(Serialization) 직렬화는 자바 시스템 내에서 사용하는 객체나 데이터를 자바 시스템외에서도 사용할 수 있도록 Byte 형태로 변환하는 기술이다. 인스턴스 내용 -> 연속 스트림으로 만들어 파일에 쓰거나 네트워크로 전송이 가능하게 한다. 2) 역직렬화(Deserialization) 역직렬화는 Byte로 변환된 데이터를 다시 자바의 객체로 변환하는 기술이다. 생성자 매개변수 설명 역직렬화 ObjectInputStream(InputStream in) InputStream ObjectInputStream 생성 직렬화 ObjectOutputStream(OutputStream out) OutputStream ObjectOutputStream 생성 ..

Java/Do It! 자바 프로그래밍

[JAVA] 15-5. 보조 스트림

1. 보조 스트림이란? 보조 스트림은 입출력 대상이 되는 파일이나 네트워크에 직접 쓰거나 읽는 기능은 없고 보조 기능을 추가하는 스트림이다. 보조 스트림은 다른 스트림을 감싸고 있다는 의미로 Wrapper 스트림이라고도 한다. 보조 스트림은 자료 입출력을 직접 할 수 없기 때문에 다른 기반 스트림을 포함한다. 2. FilterInputStream 과 FilterOutputStream FilterInputStream 과 FilterOutputStream 은 보조 스트림의 상위 클래스다. 생성자 매개변수 protected FilterInputStream(InputStream in) InputStream protected FilterOutputStream(OutputStream out) OutputStream..

HSY_mumu
'Java' 카테고리의 글 목록