Универсальный класс, производный от его параметра универсального типа - PullRequest
0 голосов
/ 20 июля 2011

Компилируется:

public class SerializableObject<T> implements Serializable
{
 public T m_object;
}

НЕ компилируется:

public class SerializableObject<T> extends T implements Serializable
{
}

Итак, я хочу, чтобы универсальный класс наследовал от своего параметра универсального типа.
Почему?
Допустим, у меня есть Map<K, V>, и я просто хочу его сериализовать.
Я также не знаю заранее, какие ключи у меня будут.

Как мне это сделать?

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Итак, я хочу, чтобы универсальный класс наследовал от его параметра универсального типа.

Боюсь, вы просто не можете этого сделать.Для этого есть различные технические причины, не в последнюю очередь это стирание типа.

Вам следует искать альтернативное решение ваших проблем - эта идея тупиковая.

0 голосов
/ 20 июля 2011

Нет, ваша цель близка к динамическому типу, который не поддерживается Java.

...