toString调用第二个toString

时间:2016-09-21 07:09:29

标签: java

我有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:首先和大部分时间,话务员参数分配为空

请帮助我,我不知道还有什么可以尝试。

0 个答案:

没有答案