inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

더 자바, Java 8

Optional 질문드립니다.

176

주정준

작성한 질문수 5

0

Optional의  효율성과 사용 시기가 궁금합니다.

Member loginMember = memberDAO.login(member);

                if ( loginMember != null) {

if (!bcPwd.matches(member.getMemberPwd(), loginMember.getMemberPwd())) 

loginMember = null;

 else {

loginMember.setMemberPwd("");

}

               }

위 코드를

   

Member loginMember = memberDAO.login(member);

boolean result = Optional.ofNullable(loginMember).isPresent();

if (result) {

if (!bcPwd.matches(member.getMemberPwd(), loginMember.getMemberPwd())) 

loginMember = null;

 else {

loginMember.setMemberPwd("");

}

}

이처럼 Optional을 사용해서 바꿔봤는데, 이런식 으로 사용하는 게 맞는지 궁금하네요 

  if ( loginMember != null)  이런식으로 원래대로 null체크 하는 게 더 효율적인 것 같은데 아님 제가 적재적소에 맞춰 사용하지 못한건가요??

설명을 듣고싶습니다~!

java

답변 1

1

백기선

Optional을 쓰긴 했지만 잘 활용하진 못하신거 같습니다. Optional 수업에서 설명해드린 메소드 중에 function을 활용할 수 있는 메소드를 써보면 어떨까 싶네요. 지금 코드는 단순히 기계적으로 Optional 코드를 null을 사용하던 코드랑 매칭해서 바꾼거 밖에 없으니 오히려 null을 사용하던 코드가 더 잘 읽히네요. if 문이 필요없게 고쳐 보시기 바랍니다.

CompletableFuture의 get 실행에 대해 궁금한 점이 있습니다

0

231

2

기본 인터페이스의 기본 제공 메서드 관련 질문 (왜 이걸 사용하는지)

0

515

2

static 과 metaspace 관련 질문있습니다.

0

707

0

Map의 가장 큰 특징이 key는 null이 아니다

0

2377

2

Optional 질문드립니다.

0

469

0

인텔리제이 콘솔창

0

579

0

Supplier를 쓰는 이유

0

1356

1

allOf()에서 컬렉션으로 반환하는 것을 설명할 때 코드

0

706

1

[참고] LTS주기

0

468

1

orElseThrow()

1

1082

2

findFirst함수

0

357

1

메서드 레퍼런스

1

477

1

primitive type 질문

0

301

1

FunctionalInterface 상속 관계 질문

0

292

1

함수형 인터페이스를 왜 사용하나요?

1

496

1

while문 세미콜론

0

430

1

flatMap Optional과 Stream에서의 차이점을 제가 잘 이해했는지 헷갈립니다!

0

404

1

람다식과 익명 클래스

0

318

1

steam api 예제 git 주소

3

782

1

thread.sleep질문

0

383

2

.orElse 매개변수 질문

0

261

1

isPresent( ) 와 null 질문

0

333

1

예제 코드 질문

2

286

1

코드 질문있습니다.

0

235

1