2

これは私がするように頼まれた宿題の問題です。

外側の ArrayList を作成し、そこに 2 つの ArrayList を挿入します。

ArrayList<Customer> customers1 = new ArrayList<Customer>();
ArrayList<CustomerOtherDetails> customers2 = new ArrayList<CustomerOtherDetails>();
ArrayList<ArrayList> outerList = new ArrayList<ArrayList>();

これらは、作成される 3 つの ArrayList です。存在する 2 つの別個のサンプル クラス Customer および CustomerOtherDetails があります。customers1.add(customer) などを実行して、両方の arrayLists (customers1 と customers2) に参照変数を追加します。新しい顧客の追加、新しい顧客の検索、並べ替えなどのサンプル作業を行うよう求められます。ネストされた ArrayList

現在直面している問題は、配列リストの参照変数が指す値の詳細を出力できないことです。

get() を使用して値を出力しようとすると、このようにしか出力できません

[[new.Customer@3972aa3f], [new.advanced.CustomerOtherDetails@17072b90]]
4

1 に答える 1

5

public String toString()Customer クラスと CustomerOtherDetails クラスのメソッドをオーバーライドする必要があります。

これはあなたがそれを行う方法です:

public class Customer { 
     // ... other code

    @Override
    public String toString() {
        return "Customer: " + ... ; // append instance variable values here
    }
}

toStringメソッドは、他のすべてのクラスが Java で継承する基本クラスで定義されObjectます。オブジェクトを文字列に変換しようとするたびに、たとえば を介して暗黙的に呼び出されますSystem.out.println

于 2012-10-18T21:35:14.680 に答える