개발 무지렁이

[Spring Boot] Util클래스에서 파일의 확장자 가져오기 본문

Backend/스프링부트

[Spring Boot] Util클래스에서 파일의 확장자 가져오기

Gaejirang-e 2022. 12. 12. 19:42

Optional


(null 체크 관련) 간편한 기능이 섞인 포장지

[Util.java]

  • .ofNullable(): null이 넘어와도 NPE(Null Point Exception)를 던지지 않고 비어있는 객체를 던짐
  • .filter(): 원하는 조건의 값만 필터링
  • .map(): 값의 형태를 변경한다
  • .orElse(): null이 넘어오면 반환할 값 정의
public class Util {
    public static class file {
      public static String getExt(String filename) {
          return Optional.ofNullable(filename)
                  .filter(f -> f.contains("."))
                  .map(f -> f.substring(filename.lastIndexOf(".") + 1))
                  .orElse("");
      }
    }
}
❓ 내부 클래스를 사용하는 이유
: 내부 클래스는 딱히 외부에서 독자적으로 쓰일 일이 없으면
  내부 클래스로 만들어주는 것이 좋다.
  => 코드의 의도를 명시적으로 표현
Comments