Java 堆栈和对象(公共类)

Java 堆栈和对象(公共类),java,Java,我需要一个容器来跟踪一堆对象(public class Note),而堆栈似乎非常适合我的需要。容器名为listOfNotes。但是,当我试图用以下方法将一张便条推到堆栈上时: listofNotes.push(Note0), 编译器给了我以下错误: 警告:[未选中]未选中调用push(E)作为原始类型堆栈的成员 这是否意味着堆栈无法容纳对象,或者我使用的命令“push”错误?您必须定义类型,例如 List<String> 列表 表示您正在将此列表的类型定义为字符串。你可能想

我需要一个容器来跟踪一堆对象(
public class Note
),而
堆栈似乎非常适合我的需要。容器名为
listOfNotes
。但是,当我试图用以下方法将一张便条推到堆栈上时:

listofNotes.push(Note0),
编译器给了我以下错误:

警告:[未选中]未选中调用push(E)作为原始类型堆栈的成员


这是否意味着堆栈无法容纳对象,或者我使用的命令“push”错误?

您必须定义类型,例如

List<String> 
列表
表示您正在将此列表的类型定义为字符串。你可能想

List<Node> 
列表

或者你的类被称为什么。

没有代码示例很难说,但类似的东西应该可以:

 Stack stack = new Stack();
 Note note = new Note();
 stack.push(note);

你能给出一个更完整的代码示例吗?

这只是一个警告(不是错误),一切正常。 您可以建议编译器忽略此类警告,例如在代码中使用注释@SuppressWarnings(“rawtypes”)。如果适合您,请执行此操作。在这种情况下,您可能需要在从堆栈弹出时进行强制转换,如下所示:

Note note = (Note) listOfNotes.pop();
Note note = listOfNotes.pop();
<>但是为了更好的样式和可用性,你应该考虑给容器(栈)想要的类型(参见“泛型”):


请发布一个说明问题的代码示例。您必须定义类型,例如,列表表示您正在将此列表的类型定义为字符串。您可能希望列出或调用您的类。这意味着堆栈的声明没有指定它可以容纳的对象类型。无论如何,这是一个警告,而不是一个错误。请在这里发布完整的代码集,格式正确(通过Ctrl+K)。从事物的声音来看,您已经将
listOfNotes
声明为
堆栈
(没有泛型类型参数),而不是
堆栈
。请仔细研究,因为所有语言提供的容器类都使用泛型(从Java1.5/J2SE5.0开始)。
Note note = listOfNotes.pop();