У меня проблемы с выяснением, как правильно привести обобщенный объект в Java к типу, расширяющему универсальный объект.
Например, скажем, некоторые настройки, подобные следующим:
public class Parameters extends SomeCustomMap<String, String>
{
...
}
public class SomeCustomMap<K, V> implements Map<K, V>
{
public SomeCustomMap<K, V> getSubSet(...)
{
SomeCustomMap<K, V> subset;
...
return subset;
}
}
class ExampleApp
{
private void someMethod()
{
Parameters params;
Parameters paramsSubSet;
try
{
...
paramsSubSet = (Parameters) params.getSubSet(...);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Запуск кода, аналогичного приведенному выше, последовательно вызывает исключение ClassCastException, подобное которому я не до конца понимаю. Будем благодарны за любые советы по правильной настройке сценария, аналогичного описанному выше! А именно, как я могу правильно привести объект SomeCustomMap, который возвращается из метода params.getSubSet (...) обратно в объект Parameters?
Заранее спасибо!