728x90
반응형

JAVA 266

[JAVA] Optional 주요 메서드 정리

✅ 값이 존재할 때만 실행 (ifPresent())Optional optional = Optional.of("Hello");optional.ifPresent(System.out::println); // 출력: Hello✔ 값이 있을 때만 System.out.println() 실행✔ 값이 없으면 아무 동작도 하지 않음 ✅ 값이 없을 때 기본값 설정 (orElse())String result = Optional.ofNullable(null).orElse("Default Value");System.out.println(result); // 출력: Default Value✔ 값이 없으면 "Default Value" 반환 ✅ 값이 없을 때 동적으로 값 설정 (orElseGet())String result = ..

JAVA 2025.02.17

[JAVA] Optional 기본 사용법

✅ 값이 있을 때Optional optional = Optional.of("Hello, World!");System.out.println(optional.get()); // 출력: Hello, World!✔ of()는 null이 아닌 값을 감쌀 때 사용하며, null을 넣으면 NullPointerException이 발생합니다.✔ get()을 사용하면 Optional에 저장된 값을 꺼낼 수 있음 ✅ 값이 없을 때 (Optional.empty())Optional optional = Optional.empty();System.out.println(optional.isPresent()); // 출력: false✔ empty()는 비어 있는 Optional을 생성함✔ isPresent()를 사용하여 값이 있는..

JAVA 2025.02.15

[JAVA] 확장 for문 null 체크

향상된 for문(enhanced for loop) 도 null 체크가 필요합니다.이유:향상된 for문은 내부적으로 Iterator를 사용하여 컬렉션을 순회합니다.따라서 null을 전달하면 null.iterator()를 호출하는 것과 동일하게 동작하여 NullPointerException 이 발생합니다. 예제 코드❌ 잘못된 코드 (NullPointerException 발생 가능)for (ResYhIftkUserManagersDTO mng : userchat.getManagers()) { // userchat.getManagers()가 null이면 여기서 NullPointerException 발생 System.out.println(mng.getEmail());}✅ 올바른 코드 (null 체크 추..

JAVA 2025.02.14

[JAVA] .stream() 을 사용했는데 순서가 유지되지 않는 경우

왜 순서가 깨질 수 있나요?Collectors.toMap:기본적으로 toMap은 내부적으로 HashMap을 사용합니다.HashMap은 요소가 삽입된 순서를 보장하지 않습니다. 따라서 스트림 소스의 순서가 HashMap을 거치면서 깨질 수 있습니다.values():HashMap의 values() 메서드는 순서를 보장하지 않기 때문에, 반환된 Collection의 순서도 불확실합니다.순서를 유지하려면 어떻게 해야 하나요?순서를 유지하려면 LinkedHashMap을 사용해야 합니다. LinkedHashMap은 삽입 순서를 보장합니다.이를 위해 toMap 대신 Collectors.toMap에 LinkedHashMap을 명시적으로 지정하면 됩니다. // 순서를 유지하며 exhlNm 리스트 생성 Lis..

JAVA 2025.01.23
728x90
반응형