2013-08-18 4 views
0

을 재생 :자바 예외 crshes 내가 컨트롤러 다음 한 프레임 워크

public static Result overview() { 

    class Earning { 
     public int ammount; 
     public String description; 
    } 

    Earning[] earnings = new Earning[5]; 

    earnings[0].ammount = 5; 

    return ok(overview.render(earnings)); 
} 

내가 가야 자바의 결과로 배열의 객체를 해당 생성되지 않은 : java.lang.NullPointerException이

그러나 대신 이 오류 표시 재생 프레임 워크가 충돌합니다.

프레임 워크를 크래시하지 않고 첫 번째 오류를 확인하는 방법에 대한 아이디어가 있으십니까?

답변

2

는 추가 :

earnings[0] = new Earning(); 

전에 :

earnings[0].ammount = 5; 

이 방법 earnings[0]Earning 개체를 개최하고 그 ammount 필드에 액세스 할 수있을 것입니다.

0

개요 메서드 내에 Earning 클래스를 선언하지 마십시오. 이 클래스는 메서드 본문에서만 액세스 할 수 있어야하지만보기로 전달하여 해당 개체를 "누출"하므로 가시성 문제가 발생합니다.

관련 문제