考虑下面的类:
class Collection {
private Object[] terms;
public Collection(Object... terms) {
this.terms = terms;
}
// Do something with terms...
}
我试图用这个类来保持不变性,并且我想更多地了解 varargs 及其功能。当我使用参数时:
Collection c = new Collection(1, 2, 3, 4);
我假设在上面的实例中创建了一个新数组。但是,如果我要执行类似以下代码的操作:
Object[] arr = {1, 2, 3, 4};
Collection c = new Collection(arr);
由于使用了可变参数,在上述实例中是否隐式创建了一个新数组,或者该数组只是通过引用传递,就像类型参数用于Object[]?
手掌心
白猪掌柜的
相关分类