2016-06-04 3 views
-2

NullPointerException이 무엇인지, 그리고 그것이 왜 던져 졌는지 알기 때문에 "a"가 생성자가있는 클래스의 새 인스턴스로 설정 되었기 때문에 내 예제에서 왜 던져 졌는지 알 수 없습니다. 클래스의 값은 appointmentDate에 값을 할당합니다.널 체크 후의 Java Nullpointer 예외

if(a==null){ 
     return false; 
    } 
    if(a.getAppointmentDate().before(Calendar.getInstance())){ 
     throw new InvalidCalendarException("date before now"); 
    } 

Nullpointer 예외는 두 번째 경우 조건에서 발생합니다이 코드를 실행하고 나는이 점을 맡았다 A의 도달 할 수없는해야하는 이유 때문에 아무 생각이없는 경우 (A 클래스의 인스턴스입니다 널 전용 java.util.Calendar 특성). 상기 클래스의 생성자에서 속성은 입력에 따라 설정됩니다. 누군가 나를 도울 수 있습니까? 나는 a.getAppointmentDate()가 null 반환되기 때문에 지금은 몇 시간에 대한 해결책 :(

+1

그럼 내가 * 의심 * 체크를 사용해보십시오 a.getAppointmentDate'그()'이 null을 돌려 주지만 주어진 코드 만 검사 할 수는 없습니다 –

+0

위에서 제안한 것처럼, 현재 객체 'a'가 null인지 검사하고 있습니다. 그러나 객체의 메소드 getAppointmentDate() 메소드가 값을 리턴한다고 가정하면,이 메소드가 nu를 리턴 할 가능성이있다. ll 값. – Baleroc

+0

이것은 잘못된 코딩이므로 메서드 호출을 연결하는 것뿐만 아니라 각 객체에 변수 이름을 사용해야합니다. Date d = a.getAppointmentDate(); if (d.before (... 이렇게하면 예외가 발생한 곳을 정확히 알 수 있습니다.) – sigma

답변

0

을 얻으려고 노력하고있다.

if(a==null || a.getAppointmentDate() == null)