0

簡単なコード スニペットを次に示します。

someMethod ClassA getClassA() {
  List<ClassA.ClassB> classAType = Lists.newArrayList();
  //Now classAType is loaded with stuff here
  return ClassA.load(classAType.toArray(new ClassA.ClassB[classAType.size()]));
}

public abstract class ClassA {
  //Constructor
  public static abstract class ClassB {
    //some method
  }
}

私が理解していない部分は、ステートメントです。何を意味するのreturnか知りたかったのです。ClassA.ClassB[classAType.size()]

4

3 に答える 3

2

このgetClassA()メソッドは、最初に。ClassA.ClassBによって返されるオブジェクトを含むリストを作成しますLists.newArrayList()。次に、1つのパラメーター( 。と同じサイズのタイプの空の配列)を渡すClassA静的メソッドを呼び出して戻ります。ClassA.load()ClassA.ClassBclassAType

このコード:

classAType.toArray(new ClassA.ClassB[classAType.size()])

少し複雑に見えるかもしれませんが、classATypeリストのすべての要素を含む配列を作成するだけです。

于 2012-11-05T18:24:02.593 に答える
0

配列のサイズを設定しています。ただし、配列リストには何も入れないため、0になります。コードはあまり意味がありません...

于 2012-11-05T18:22:12.257 に答える
0
new ClassA.ClassB[classAType.size()]

ClassA.ClassBサイズのオブジェクトの配列を返しますclassAType.size()

は作成済みでClassATypeあるため(はここでは定義されていないため、次の部分は仮定です)、は 0 です。ListLists.newArrayList()Lists.newArrayList()classAType.size()

于 2012-11-05T18:21:42.657 に答える