我无法弄清楚如何正确地将 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,我并不完全理解。对于如何正确设置与上述类似的场景的任何帮助,我们将不胜感激!即,我如何正确将从 params.getSubSet(...) 方法返回的 SomeCustomMap 对象转换回参数对象?
提前致谢!