번외 Optional을 안쓰고 전부 Kotlin 문법으로 하기
val user = userRepository.findByUsername(username)
.orElseThrow { CannotFindUserException(username) }
val user = userRepository.findByUsername(username)
?: throw CannotFindUserException(username)
Optional<String> optionalValue = // Optional 타입의 값
String result = optionalValue.orElse("default"); // 값이 존재하면 해당 값을 사용하고, 값이 없으면 "default"를 사용
Optional<String> optionalValue = // Optional 타입의 값
String result = optionalValue.orElseGet(() -> getValueFromSupplier()); // 값이 존재하면 해당 값을 사용하고, 값이 없으면 Supplier를 통해 값을 가져옴
Optional<String> optionalValue = // Optional 타입의 값
String result = optionalValue.orElseThrow(() -> new IllegalStateException("Value is null")); // 값이 존재하면 해당 값을 사용하고, 값이 없으면 예외를 발생시킴
val value: String? = // Nullable 타입의 값
val result = value ?: "default" // 값이 존재하면 해당 값을 사용하고, 값이 없으면 "default"를 사용
val value: String? = // Nullable 타입의 값
val result = value ?: getValueFromSupplier() // 값이 존재하면 해당 값을 사용하고, 값이 없으면 getValueFromSupplier()를 호출하여 값을 가져옴
val value: String? = // Nullable 타입의 값
val result = value ?: throw IllegalStateException("Value is null") // 값이 존재하면 해당 값을 사용하고, 값이 없으면 예외를 발생시킴
'☕ Java' 카테고리의 다른 글
Java Stream 사용법 ( 당신의 Stream은 안녕하십니까? ) (0) | 2023.08.26 |
---|---|
커스텀 어노테이션과 리플렉션 (0) | 2023.07.30 |
java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter (0) | 2023.06.21 |
[Java] JVM Warmup (0) | 2023.03.12 |
[Java] Object, Objects 차이 (1) | 2023.02.20 |