有沒有辦法找出帶有可變參數的Java函數(或構造函數)是否實際使用可變參數或數組調用?Java:找出函數是否用可變參數或數組調用
說我有以下幾點:
public class MyCompositeObjects {
MyObject[] objects;
MyCompositeObjects(MyObjects... objects) {
this.objects = Arrays.copyOf(objects,objects.length);
// or just: this.objects = objects; ?
}
// ...
}
構造可以與單個MyObject[]
的說法,它可以在以後更改被調用,如果我沒有在構造函數中的數組複製這些更改將適用於成員變量objects
,對吧?但是,如果構造函數被調用了幾個MyObject
,那麼沒有其他引用可以在類的後面更改它,所以我可以直接指定它。我可以告訴構造函數(或者,通常,任何使用可變參數的函數)它是如何被調用的?
* nb:有沒有一個特定的名字?它只是一個匿名數組嗎?
您的靜態工廠示例中存在問題。 「copy」布爾值不是構造函數參數,而是對objects.close()的調用。 – 2011-03-25 15:18:45