Подтвердить что ты не робот

Как создать общий конструктор для универсального класса в java?

Я хочу создать класс KeyValue, но в общих чертах, и это то, что я написал:

public class KeyValue<T,E> 
{

    private T key;
    private E value;
    /**
     * @return the key
     */
    public T getKey() {
        return key;
    }
    /**
     * @param key the key to set
     */
    public void setKey(T key) {
        this.key = key;
    }
    /**
     * @return the value
     */
    public E getValue() {
        return value;
    }
    /**
     * @param value the value to set
     */
    public void setValue(E value) {
        this.value = value;
    }

    public KeyValue <T, E>(T k , E v) // I get compile error here
    {
        setKey(k);
        setValue(v);
    }
}

ошибка говорит: "Синтаксическая ошибка на токене" > ", Идентификатор, ожидаемый после этого токена"

как мне создать общий конструктор в java, тогда?

4b9b3361

Ответ 1

Вам нужно удалить <T, E> из подписи конструктора: он уже существует неявно.

public KeyValue(T k , E v) // No compile errors here :)
{
    setKey(k);
    setValue(v);
}

Ответ 2

Напишите конструктор точно так же, как вы написали другие методы

public KeyValue(T k , E v) 
    {
        setKey(k);
        setValue(v);
    }