我有2个toString方法。它们都很好。
//This toString is the attendant toString.The parameter assign is of type car
public String toString() {
return "Attendant [staffNum=" + staffNum + ", id=" + id + ", available=" + available + ", name=" + name
+ ", assign=" + assign + "]";
}
下面的toString来自汽车类
public String toString() {
return "Car:" + plateNum + " ID:" + carID + " Position:" + position + " Assigned to:" + assignedTo.getId()
+ "(" + assignedTo.getName() + ")" + " Parked at:" + convert(currTime);
}
我的问题是,如果我使用toString服务员进行打印,那么打印就好了,因为它是auto类型,它调用car toString。 我不能把车改成串,因为我按原样使用它。
我尝试了一些调用汽车ID和位置的getmethods,但它要求所有服务员。
我尝试了空检查。它会检查如果assign不为null,它将调用getmethods。这个崩溃我的java。
public String strAssignAttCar(Cars assign){
String result = null;
if(!(assign.equals(null))){
result = Cars.getCarID();
}
我得到了这个:
Exception in thread "main" java.lang.NullPointerException
at Attendant.strAssignAttCar(Attendant.java:201)
at Attendant.toString(Attendant.java:217)
at java.lang.String.valueOf(Unknown Source)
at java.io.PrintStream.println(Unknown Source)
at Attendant.createAtt(Attendant.java:64)
at Main.main(Main.java:15)
PS:首先和大部分时间,话务员参数分配为空
请帮助我,我不知道还有什么可以尝试。