【问题标题】:How can I print string array in java when method toString doesnt work? [duplicate]当方法 toString 不起作用时,如何在 java 中打印字符串数组? [复制]
【发布时间】: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


【解决方案1】:

你需要在你的Account类中实现toString方法,然后你可以这样做:

System.out.println(accounts);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    相关资源
    最近更新 更多