피자조아
27
2019-04-17 18:47:52
4
332

Integer 변수 값 비교 질문!


안녕하세요.

신입개발자입니다.

회사에서 처음 코드리뷰를 진행했었는데

탈곡기에 갈아넣은거 처럼 탈탈탈탈 털렸네요 ㅜㅜ ㅋ


궁금한 점이 있는데,

dto에 Integer stateId 라는 변수가 있는데

이 stateId를 .equals(10) 이렇게 값을 비교했습니다.

stateId에 있는 정수값을 비교하고자 할 땐 어떻게 비교하는게 옳은건가요?

0
0
  • 답변 4

  • star16m
    524
    2019-04-17 19:25:33 작성 2019-04-17 19:26:14 수정됨

    2가지 생각할수 있는 부분이 있습니다

    primitive값은 autobox/unbox 에 의해 대부분의 경우 동일한 결과를 리턴합니다

    다만 integer 가 null 이라면 npe를 뱉겠죠

    그런걸 피하기위해 예전에는

    “blahblah”.equals(myString)

    이런식으로 처리 해왔습니다

    다만 신입이라고 하시니

    autoboxing/unboxing 을 이해하고 한 것인지 아닌지 애매해서 리뷰에서지적하신것일 수 있지요

    다만 해당 필드에 notnull validation annotation 을 추가하거나 로직으로 objects.nonnull 으로 사전에 null 값이 올 수 없음 을 담보한 상태라면 별 문제 없습니다

    1
  • 피자조아
    27
    2019-04-17 20:35:36
    답변 감사합니다
    말씀하신 autoboxing/unboxing에 대해서 알아봐야 할것 같네요.
    .intValue()로 int값을 반환해서 상수랑 비교하는건 어떤가요?
    stateId().intValue() == 10 이런식으로요
    0
  • k20081001
    247
    2019-04-17 21:13:25

    다보다 왜 int를 안썼을까? 그리고

    차이는 뭘까?

    기본형과 래퍼라 불리는 오브젝트들에 대해서

    보신다면 좋을거 같아요.

    1
  • javaing
    1k
    2019-04-18 03:29:25
    1
  • 로그인을 하시면 답변을 등록할 수 있습니다.