我有一个名为Node<Value>
的对象。对象NodeInternal<Value>
和NodeLeaf<Value>
继承自Node<Value>
。
我正在尝试使用instanceof
测试对象的类型,如下所示:if (node instanceof NodeInternal)
。我没有添加<Value>
,因为在运行时,该类型已删除。但是,如果在<Value>
上没有NodeInternal
,我会收到以下警告:NodeInternal is a raw type. References to generic type NodeInternal<Value> should be parameterized
。
在这种情况下我该怎么办?
最佳答案
使用无界通配符:
if (node instanceof NodeInternal<?>)
node = ((NodeInternal<Value>) node).SE();