创建Java类的新对象将返回空对象
我创建了一个新类“ServiceRequest”,如下所示。我没有在这里添加getter和setter来节省空间创建Java类的新对象将返回空对象,java,class,Java,Class,我创建了一个新类“ServiceRequest”,如下所示。我没有在这里添加getter和setter来节省空间 package testListenerPackage; import java.util.Date; public class ServiceRequest { public static final ServiceRequest REQUEST_ARRIVAL = new ServiceRequest( "Request_Arrival" ); public stati
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;
}
有人能告诉我怎么做吗?我不喜欢这个代码:
public ServiceRequest()
{
// all those references are null - crazy
}
public ServiceRequest(String serviceRequest ) {
// use "this" to clarify what's initialized
this.serviceRequest = serviceRequest;
}
当他指的是“空对象”时,他指的是对象中没有任何内容(他的serviceRequest字符串)。正如Beau Grantham所说,“这”将完成任务您所说的“返回空对象”是什么意思?您是否收到NullPointerException?哪一行?也是行
serviceRequest=serviceRequest构造函数中的代码>没有完成任何操作。您需要将其更改为this.serviceRequest=serviceRequest代码>看起来应该可以工作了。是否有其他可能导致故障的代码?您是否已将其精简为发布的代码?可能是以下表达式出现了问题:ServiceRequest.REQUEST\u ARRIVAL.toString()
。再加上requestStatus
设置不正确,如果toString()
只是委托给requestStatus
,将导致NPE。但这只是猜测,因为该类的完整代码尚未发布。this.serviceRequest工作正常,现在不返回null对象。谢谢你们的帮助。