2011-12-19 4 views
0

아래 'ServiceRequest'클래스를 새로 만들었습니다. 나는 공간을 절약하기 위해 게터와 세터를 여기에 추가하지 않았다.Java 클래스의 새 객체를 생성하면 null 객체가 반환됩니다.

package testListenerPackage; 

import java.util.Date; 

public class ServiceRequest { 

public static final ServiceRequest REQUEST_ARRIVAL = new ServiceRequest("Request_Arrival"); 
public static final ServiceRequest REQUEST_COMPLETION = new ServiceRequest("Request_Completion"); 
public static final ServiceRequest REQUEST_UNDER_PROCESS = new ServiceRequest("Request_Under_Process"); 


private String serviceRequest; 
private String requestName; 
private int requestID; 
private long arrivalTime; 
private long startServiceTime; 
private long endServiceTime; 
private long totalServiceTime; 

private String requestStatus; 

public enum RequestStatus{ 
    NEW, COMPLETED 
} 



public ServiceRequest() 
{ 

} 
public ServiceRequest(String serviceRequest) { 
    serviceRequest = serviceRequest; 
} 
} 

이렇게 다른 클래스에서이 개체의 인스턴스를 만들려고하면 null 개체가 반환됩니다.

public ServiceRequest generateServiceRequest() 
{ 
    ServiceRequest serviceRequest = new ServiceRequest("Ali baba"); 
    serviceRequest.setRequestID(1); 
    serviceRequest.setRequestName("Read"); 
    serviceRequest.setRequestStatus(ServiceRequest.REQUEST_ARRIVAL.toString()); 
    serviceRequest.setArrivalTime(System.currentTimeMillis()); 
    return serviceRequest; 
} 

아무도 말해 줄 수 있습니까?

+0

"null 객체를 반환합니다"는 의미는 무엇입니까? NullPointerException이 발생하고 있습니까? 어느 선 이요? –

+5

또한 생성자의'serviceRequest = serviceRequest;'행은 아무 것도 수행하지 않습니다. 'this.serviceRequest = serviceRequest; '로 변경해야합니다. –

+0

작동해야합니다. 문제를 일으킬 수있는 다른 코드가 있습니까? 게시 된 코드를 정정하기 위해 코드를 제거 했습니까? – cdeszaq

답변

1

이 코드를 좋아하지 않는다 : 그는 "Null 개체를"의미

public ServiceRequest() 
{ 
    // all those references are null - crazy 
} 
public ServiceRequest(String serviceRequest) { 
    // use "this" to clarify what's initialized 
    this.serviceRequest = serviceRequest; 
} 
+0

this.serviceRequest가 작동했으며 현재 null 객체를 반환하지 않습니다. 도와 줘서 고마워. – Junaid

0

, 그는 그 객체가 (자신의 서비스 요청 문자열)에 무관 의미했다. Beau Grantham이 "이"일을 끝낼 것이라고 말했듯이

관련 문제