因爲您在代碼中沒有使用return <variable>
聲明。打印System.out
流不是與返回String
相同。
取而代之的是打印輸出字符串的所需內容,最好將其全部附加到字符串中並將此字符串返回給客戶端。
下面是一個例子:
public String toString() {
StringBuilder result = new StringBuilder(lastName)
.append(", ")
.append(firstName)
.append('\n')
.append(phoneNumber);
if (relationship == 'F')
result.append(" Friend");
else if (relationship == 'M')
result.append(" Family Member");
else if (relationship == 'B')
result.append(" Business Associate");
else result.append(" Not Specified");
return result.toString();
}
此外,嘗試了toString
方法返回一個方式來理解存儲在對象中的數據。這是另一個例子:
public String toString() {
StringBuilder result = new StringBuilder("Name: ")
.append(lastName)
.append(", ")
.append(firstName)
.append(". Phone Number: ")
.append(phoneNumber)
.append(". Relationship: ");
if (relationship == 'F')
result.append(" Friend");
else if (relationship == 'M')
result.append(" Family Member");
else if (relationship == 'B')
result.append(" Business Associate");
else result.append(" Not Specified");
return result.toString();
}
_a_'return'語句在哪裏? – 2014-10-20 16:18:13
它確實會返回一個字符串。在系統輸出上。 – 2014-10-20 16:19:16
你爲什麼會認爲它返回一個字符串? – SLaks 2014-10-20 16:19:49