[英]creating a new object of Java class returns a null object
I have created a new class 'ServiceRequest' like below. 我创建了一个新的类“ ServiceRequest”,如下所示。 I have not added getters and setters here to save space. 我没有在这里添加getter和setter来节省空间。
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;
}
}
When I try to create an instance of this object in other class like this, it returns a null object. 当我尝试在这样的其他类中创建此对象的实例时,它将返回一个空对象。
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;
}
Can anybody tell me what to do? 谁能告诉我该怎么办?
I don't like this code: 我不喜欢此代码:
public ServiceRequest()
{
// all those references are null - crazy
}
public ServiceRequest(String serviceRequest ) {
// use "this" to clarify what's initialized
this.serviceRequest = serviceRequest;
}
when he meant "null object", he meant that object has nothing in it (his serviceRequest string). 当他表示“空对象”时,表示该对象中没有任何东西(他的serviceRequest字符串)。 As Beau Grantham said "this" will get job done 正如博·格兰瑟姆(Beau Grantham)所说,“这”将完成工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.