0

LifeCycle のプロパティ定義が十分でないのはなぜですか? また、コンストラクターで ArrayList() としても定義する必要があるのはなぜですか? それでも、ArrayList<LifeCycle>がプロパティ定義からの制限を継承しないのはなぜですか? 両方の場所に設定する必要はありません。非常に冗長に思えます。

class Search {
    private Collection<LifeCycle> lifeCycleCollection;

    public Search() {
        this.lifeCycleCollection = new ArrayList<LifeCycle>();
    }
...
4

2 に答える 2

4

コレクションはインターフェイスです。インスタンスを作成すると、実際に実装を指定します。

Generics に関する質問については、Java 7 と同様に、次のように書くこともできます。

lifeCycleCollection = new ArrayList<>();
于 2012-04-12T18:27:00.543 に答える
2

アレッシオの答えは正しいです。コンストラクターから何かを移動することで、コードを 1 行で締めることもできます。

class Search {
    private Collection<LifeCycle> lifeCycleCollection = new ArrayList<>();

    public Search() {
    }
于 2012-04-12T18:44:09.850 に答える