-
TIL 158일 - optional 필드 리팩토링 해보기공부/Java와 Spring 2022. 6. 6. 01:50
원래 nullable한 필드가 아래처럼 있었다.
private Integer beginDday; private Integer endDday; private Integer beginOrder; private Integer endOrder;
그래서 이런 놈으로 한번 감싸는 필드를 만들어 줬다.
package com.trevari.policy.core.Antlr; import lombok.Value; import java.util.Optional; @Value(staticConstructor = "of") public class BeginInfo { Integer dday; Integer order; public Optional<Integer> getDday() { return Optional.ofNullable(dday); } public Optional<Integer> getOrder() { return Optional.ofNullable(order); } }
package com.trevari.policy.core.Antlr; import lombok.Value; import java.util.Optional; @Value(staticConstructor = "of") public class EndInfo { Integer dday; Integer order; public Optional<Integer> getDday() { return Optional.ofNullable(dday); } public Optional<Integer> getOrder() { return Optional.ofNullable(order); } }
그래서 원래 사용하던 필드를 이렇게 대체해줬다.
public class RefundRuleListener extends RefundBaseListener { private BeginInfo beginInfo = BeginInfo.of( null, null ); private EndInfo endInfo = EndInfo.of( null, null ); }
근데 그래도 초기화 하는 건 신경을 써줘야 하는 게 마음에 안 든다... 흠...
원래.. 그런가... 자바는...?
타입스크립트는 안그랬는데....
'공부 > Java와 Spring' 카테고리의 다른 글
TIL 174일 - Spring 여러 데이터 소스 (0) 2022.06.21 TIL 163일 - jpa repository 테스트 (0) 2022.06.10 TIL 157일 - java class optional field (0) 2022.06.04 TIL 150일 - 짧짧 build gradle (0) 2022.05.28 TIl 149일 - 짧짧 롬복 (0) 2022.05.28