【发布时间】:2020-02-20 14:32:11
【问题描述】:
我尝试打印帐户列表,但它们显示为 @164552...
我尝试像Arrays.toString(accounts) 一样调用toString 方法,但它无法编译。
它抱怨static 和它无法解析方法toString
import java.util.ArrayList;
import java.util.Arrays;
public class Customer {
private String name;
private String surname;
private String personalNumber;
private ArrayList<Account> accounts;
public Customer(String customerName, String customerSurname,
String customerPersonalNumber) {
this.name = customerName;
this.surname = customerSurname;
this.personalNumber = customerPersonalNumber;
this.accounts = new ArrayList<Account>();
}
public Customer() {
}
public String getCustomerInfo() {
return name + " " + surname + " " + personalNumber + accounts;
}
public ArrayList<Account> getAllAccounts() {
return accounts;
}
public static void main(String[] arg) {
Customer p = new Customer("Anna", "Larsson", "112323");
p.addAccounts(new SavingsAccount());
p.addAccounts(new SavingsAccount());
System.out.println(Arrays.toString(accounts));
}
}
【问题讨论】:
-
1.您的代码中没有数组(除了
arg)。 2.Arrays.toString接受一个数组,而不是ArrayList。 3. 如果您在Account中覆盖Object.toString,则只需使用System.out.println(accounts);打印即可看到有意义的信息 -
Arrays.toString
标签: java