我有一个名为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
。
在这种情况下我该怎么做?
答案 0 :(得分:1)
使用无界通配符:
if (node instanceof NodeInternal<?>)
node = ((NodeInternal<Value>) node).SE();
答案 1 :(得分:0)