代码之家  ›  专栏  ›  技术社区  ›  JimBelushi2

类型E被识别为对象

  •  0
  • JimBelushi2  · 技术社区  · 7 年前

    为什么我写这个:

    Node<Vertex<E>, Double> a = queue.extractMax();
    Vertex<E> u = a.getValue();
    

    代码编译时没有错误,如果我写下:

    Vertex<E> u = queue.extractMax().getValue();
    

    我得到了错误:

    错误:不兼容的类型:无法将对象转换为顶点

    1 回复  |  直到 7 年前
        1
  •  0
  •   Kaidul    7 年前

    假设你的 extractMax() 签名/返回类型不同于 Node<Vertex<E>, Double> -

    Vertex<E> u = ((Node<Vertex<E>, Double>) queue.extractMax()).getValue();
    

    根据您的例子,这一个应该是绝对有效的。