У меня проблемы с этим проектом класса, и один из первоначальных конструкторов действительно сбивает меня с толку. Вот что говорится в документации:
publi c ArrayMerge (коллекция ArrayMerge) Конструктор, который создает набор на основе коллекции. Примечание. Этот конструктор должен установить начальный размер, равный размеру по умолчанию. Переданная коллекция не должна изменяться. Параметры: collection - коллекция, которая будет использоваться для построения этого набора. Если в коллекции есть повторяющиеся элементы, в первый набор будет добавлен только первый. Броски: java .lang.IllegalArgumentException - если коллекция нулевая или коллекция содержит нулевые элементы.
Вот мой код с другими конструкторами. Я уверен, что первые два верны, это третий конструктор, который я не понимаю. Я думаю, что у меня есть правильная часть исключения, но, честно говоря, я понятия не имею. Спасибо за любую помощь !!!
public class ArrayMerge<R>{
/**
* Generic set to be merged.
*/
private R[] merge1;
/**
* Default capacity for internal data structures, set to 10.
*/
private static int DEFAULT_CAPACITY = 10;
/**
* Number of items added to the set.
*/
private int numentries;
/**
* Constructor that creates a set of some initial size.
*
*/
public ArrayMerge() {
this(DEFAULT_CAPACITY);
}
/**
* Constructor that creates a set of some initial size.
* @param size size of the set to be created.
*/
public ArrayMerge(int size) {
R[] tempMerge = (R[])new Object[size];
this.merge1 = tempMerge;
this.numentries = 0;
}
/**
* Constructor that creates a set based on collection
* @param collection : collection that will be used to build this set
* @throws IllegalArgumentException : if the collection is null or the collection contains null elements
*/
public ArrayMerge(ArrayMerge<? extends R> collection) throws IllegalArgumentException {
if(collection == null){
throw new IllegalArgumentException("collection is null");
}
else {
}
}