[Java] null 이거나 "" 인 경우 조건문
2023. 7. 25. 20:39
프로그래밍/JAVA
null 혹은 빈 문자열 인 경우 if문 실행되지 않도록 하는 방법 논리 연산자 이용 if(name != null && !””.equals(name)){ // if문 안의 내용 실행 } StringUtils 클래스 이용 StringUtils의 isNotBlank() 메서드는 문자열이 null이 아니고 빈 문자열도 아닌지 검사해 줌 import org.apache.commons.lang3.StringUtils; if (StringUtils.isNotBlank(assetNo)) { // if문 안의 내용 실행 }
[Java] 5. Optional의 isPresent(), ifPresent(), ifPresentOrElse()
2023. 7. 24. 20:00
프로그래밍/JAVA
isPresent() Optional 객체 내부의 값이 존재하는지 확인하는 메서드 값이 존재하면 true를 반환하고, 값이 없으면 false를 반환 import java.util.Optional; public class OptionalExample { public static void main(String[] args) { String value = "Hello, Optional!"; Optional optionalValue = Optional.ofNullable(value); if (optionalValue.isPresent()) { System.out.println("Value is present: " + optionalValue.get()); } else { System.out.println("Va..
[Java] equals 비교 시 is null 에러 발생하는 경우
2023. 7. 21. 20:33
프로그래밍/JAVA
equals 비교 시 is null 에러 발생하는 이유와 해결 방법 객체와 문자열을 비교하는 경우 불러오는 객체가 null 인경우 에러가 발생할 수 있음 문자열을 앞에 작성하여 equals로 비교한다면 NullPointerException은 발생하지 않음 equals 비교 시 상수 혹은 문자열을 앞에 두는게 좋음 예시(변경 전) // userDto.getName()이 없는 경우 NullPointerException 발생 if(userDto.getName().equals("cherry")){ System.out.println("두 값은 같습니다"); }; 예시(변경 후) // userDto.getName()이 없으면 false if("cherry".equals(userDto.getName())){ Syst..
[Java] 4. Optional orElse와 orElseGet 차이점
2023. 7. 20. 22:07
프로그래밍/JAVA
orElse Optional 객체에 값이 있을 경우 그 값을 반환하고, 값이 없을 경우에만 기본값을 반환 Optional의 값이 NULL이든 아니든 항상 호출 주어진 기본값을 항상 평가하며, Optional에 값이 있더라도 무조건 실행됨 Optional optionalName = Optional.of("John"); String result = optionalName.orElse("Default Value"); System.out.println(result); // 출력: John // 만약 optionalValue가 값이 있는 경우, result에는 "Hello"가 저장됨 // 값이 없는 경우에만 기본값 "Default Value"가 저장됨 orElseGet orElseGet 메서드는 Optional ..
[Java] 3. Optional 값 가져오기
2023. 7. 19. 20:42
프로그래밍/JAVA
Optional 값 가져오기 - get(), orElse(), orElseGet(), orElseThrow() get() 메서드 값이 없는 경우 NoSuchElementException을 발생시킬 수 있으므로, isPresent()로 확인 후에 사용해야 함 import java.util.Optional; public class GetMethodExample { public static void main(String[] args) { Optional optionalValue = Optional.of("Hello, Optional!"); if (optionalValue.isPresent()) { String value = optionalValue.get(); System.out.println(value); ..
[Java] 1. Optional / 2. Optional 객체 생성
2023. 7. 18. 20:32
프로그래밍/JAVA
Optional Java 8부터 도입된 클래스로, 값이 있을 수도 있고 없을 수도 있는 상황을 다룰 때 사용 이를 통해 NullPointerException을 방지하고, 좀 더 명시적인 코드를 작성할 수 있음 Optional 객체 생성 방법 - of(), ofNullable(), empty() Optional.of(value) 주어진 값으로 Optional 객체 생성 값이 null인 경우 NullPointerException이 발생 String name = "Brown"; Optional optionalName = Optional.of(name); Optional.ofNullable(value) 주어진 값으로 Optional 객체 생성 값이 null인 경우 비어있는 Optional 객체 생성 String..
[Java] Java17 추가된 문법 및 함수 정리
2023. 7. 13. 20:04
프로그래밍/JAVA
Java17에서 추가된 문법 및 함수를 정리해보자 Sealed Classes (봉인 클래스) Sealed 클래스는 다른 클래스들이 상속을 제한하여 해당 클래스의 하위 클래스로 사용될 수 있는 제한된 집합을 정의 public sealed class Shape permits Circle, Rectangle { // 클래스 정의 } final class Circle extends Shape { // 클래스 정의 } non-sealed class Rectangle extends Shape { // 클래스 정의 } Pattern Matching for switch (스위치 패턴 매칭) 스위치 문에서 패턴 매칭을 사용하여 다양한 조건을 처리할 수 있음 int dayOfWeek = 3; String dayType =..
[Java] Math.ceil() 결과가 잘못 나오는 경우
2023. 6. 22. 20:31
프로그래밍/JAVA
Math.ceil() 주어진 숫자를 올림하여 정수로 반환하는 Java 내장 함수 Math.ceil() 결과가 잘못나오는 경우 int result = Math.ceil(15/7);// 올림이기에 3이 나올것 같지만 2가 나옴 System.out.println(result); // 2 원인 Math.ceil은 주어진 숫자보다 크거나 같은 정수 중 가장 작은 값을 반환하기에 15/7의 결과인 2.1428571이 Math.ceil 메서드에 전달되기 때문에 3이 아닌 2가 나옴 해결 방안 나눗셈 연산을 수행하기 전에 실수형으로 나누기 즉, 15와 7을 실수형으로 표현한 후에 나눗셈을 수행 만약 정수 표현이 아닌 변수인 경우는 int 타입을 double로 캐스팅 할 것 Math.ceil(15.0 / 7.0);// 3