Обобщения и использование «instanceof» - PullRequest
0 голосов
/ 10 октября 2011

Вопрос, специфичный для обобщений в Java и их использования с instanceof:

Для следующего оператора if: if (((NodeInternal<Value>) parent).NW() instanceof NodeLeaf<?>)

Мне нужен этот приведение для доступа кparent х NW.NW - это свойство parent, которое имеет тип NodeInternal.

Мне нужно проверить, является ли указатель ссылки, удерживаемый NW, экземпляром NodeLeaf<?>.Произошла ошибка во время выполнения: NodeLeaf cannot be cast to NodeInternal.Это потому, что лист разыгрывается как внутренний, однако, разлив должен быть только для parent, чтобы иметь доступ к NW().

Как бы я мог решить такую ​​проблему?Спасибо

1 Ответ

0 голосов
/ 10 октября 2011

Ну, я думаю, что сначала прокомментировал, поэтому я сделаю почести:)

Объяснение состоит в том, что parent на самом деле класса NodeLeaf, а не NodeInternal.

...