Java конструктор, который создает набор на основе коллекции - PullRequest
0 голосов
/ 21 апреля 2020

У меня проблемы с этим проектом класса, и один из первоначальных конструкторов действительно сбивает меня с толку. Вот что говорится в документации:

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 {

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...