开发者

Generics and use of 'instanceof'

开发者 https://www.devze.com 2023-04-11 16:24 出处:网络
A question specific to generics in Java, and their usage with instanceof: For the following if-statement: if (((NodeInternal<Value>) p开发者_JS百科arent).NW() instanceof NodeLeaf<?>)

A question specific to generics in Java, and their usage with instanceof:

For the following if-statement: if (((NodeInternal<Value>) p开发者_JS百科arent).NW() instanceof NodeLeaf<?>)

I need this cast in order to access the parent's NW. NW is a property of parent which is of type NodeInternal.

I need to check if the reference pointer held by NW is an instance of NodeLeaf<?>. A runtime error is produced: NodeLeaf cannot be cast to NodeInternal. This is because leaf is cast as an internal, however, the cast should be only for parent to be able to access NW().

How would I fix such a problem?

Thank you


Well, I guess I commented first so I'll do the honors :)

The explanation is that parent is in fact of class NodeLeaf and not NodeInternal.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号