0

Java で Python リストをエミュレートしようとしています。つまり、異なるタイプのオブジェクトを同時に格納できる動的配列を維持します。Java で一般的なオブジェクト参照、つまり、ユーザー定義または組み込みの任意のタイプのオブジェクトを指すことができるオブジェクト参照を持つ方法はありますか?

4

2 に答える 2

5

Python のリストを誤解していると思います。それらは異なる型のオブジェクトを保持できますが、次のように設計されていません: Python のリストは同種のデータ構造になるように設計されています。対照的に、タプルは異種であることを意図していました (そしてそれらは不変です)。

次のようなことを行うことで、Java のタプルを模倣できます。

class Tuple1<A> { 
    private final A a; 
    public Tuple1(A a) { 
        this.a = a; 
    } 
}

class Tuple2<A, B> { 
    private final A a; 
    private final B b; 
    public Tuple2(A a, B b) { 
        this.a = a; 
        this.b = b; 
    } 
}

class Tuple3<A, B, C> { 
    private final A a; 
    private final B b; 
    private final C c;
    public Tuple3(A a, B b, C c) { 
        this.a = a; 
        this.b = b;
        this.c = c; 
    } 
}

...

メソッドとオーバーロードされた静的ファクトリ メソッドを備えたTuple基本クラスまたはインターフェイスを持つことを検討できます。index()

タイプの変数を使用しObjectて、すべてのインスタンスを格納することができます。ただし、これがやりたいことになることはめったにありません。これを正確に保存しようとしているものに絞り込み、Object.

于 2013-10-04T15:01:33.443 に答える