java – 警告:类型参数E在使用内部类时隐藏了类型E.

前端之家收集整理的这篇文章主要介绍了java – 警告:类型参数E在使用内部类时隐藏了类型E.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在编写一个堆栈,一个带有静态节点和其他非静态节点.

public class Stack

但是当我尝试使Node非静态时,它会给我这个警告“类型参数E隐藏了类型E”

public class Stack

我告诉我一点理解,因为静态memeber是类的成员所以它不会给我一个警告但是当我使它成为非静态时它属于实例.但这不是一个明确的想法.

最佳答案
当您已经定义范围时,它会警告您在范围中使用通用参数名称E.更改Node的通用参数名称解决警告的一种方法

public class Stack

但由于E已经存在,你应该只使用它;由于在泛型类型(Stack< object> .Node和Stack< String> .Node是不同类型)中定义,节点已经是通用的:

public class Stack

请注意,这是因为Node不是静态的,因此它具有对外部Stack< E>的引用.对象,因为这个E必须定义.如果Node是静态的,那么它与外部Stack< E>没有真正的关系.除了有效地在其词汇范围内之外的其他类型.

猜你在找的Java相关文章