我有一个名为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();

07-24 09:49
查看更多