DevHold
410
2021-07-23 15:06:15
4
228

if( ==null)로 잡으려고 할 때 NPE 발생



//        System.out.println("My Address : " + order.getMember().getAddress().getAddressHome()); // NPE 발생!!
        System.out.println("My name : " + order.getMember().getName());

        if(order.getMember().getAddress().getAddressHome() != null){
            System.out.println("My Address : " + order.getMember().getAddress().getAddressHome());
        }
>> if(order.getMember().getAddress().getAddressHome() != null)에서 java.lang.NullPointerException 발생

if(문을 통해서 null을 잡으려고 했습니다.)

컴파일 해보면 if문에서 NPE가 발생하게 되는데요. null을 잡으려고 했지만 NPE가 발생해서 이런 문제는 어떻게 해결해야 하는지 궁금합니다.

0
  • 답변 4

  • ghkdwls30
    2k
    2021-07-23 15:09:14
    order
    .getMember()
    .getAddress()
    .getAddressHome()
    누가 널인지 먼저 파악하세요...
  • Mux
    417
    2021-07-23 15:10:38

    ghkdwls30님께서 말씀하신 것 처럼 메소드를 체인으로 호출 할 때 발생했을 겁니다.

    에러로그를 확인하시면 아마 발생한 부분을 아실 수 있으니 에러로그를 확인해주시고,

    또는 디버깅하는 방법도 있으니 잘 파악하시기 바랍니다.

  • 반응콩
    185
    2021-07-23 15:19:24
    Optional 이용해서 체크하세요
  • DevHold
    410
    2021-07-23 15:24:39

    Address에서 null이 발생하는데 null인데 제가 getAddressHome을 호출해서 NPE가 발생했네요;;

    감사합니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.