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();