gpt4 book ai didi

java - 为什么会抛出 java.lang.classCastException

转载 作者:行者123 更新时间:2023-11-29 08:17:51 27 4
gpt4 key购买 nike

这是我的类(class),我想对我的堆栈进行排序,但它会抛出异常,请帮助我,谢谢!

public class jj {
public static void main(String[] args){
Stack<Integer> s = new ImplimentingAStackUsingAnArrayOfAGivenSizeN(5);
s.push(1);
s.push(3);
s.push(5);
s.push(2);
s.push(4);
Collections.sort((List<Integer>) (s));
System.out.println(s);
while (!s.isEmpty()) {
System.out.println(s.pop());
}
}
}

堆栈跟踪:

Exception in thread "main" java.lang.ClassCastException: 
datastructurechapter5.ImplimentingAStackUsingAnArrayOfAGivenSizeN
cannot be cast to java.util.List at datastructurechapter5.jj.main(jj.java:24)
`Collections.sort((List<Integer>) (s));`
Java Result: 1
BUILD SUCCESSFUL (total time: 2 seconds)

最佳答案

我假设您正在使用(和扩展)错误的 Stack。确保你有

import java.util.Stack;

如果 Stack 是你的某个类,你必须定义它来实现 List:

public class Stack implements List {..}

但这会是很多工作,所以使用 java.util.Stack

注意:正如 Jesper 所说,您最好使用 java.util.Deque (可能是 ArrayDeque)

关于java - 为什么会抛出 java.lang.classCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3031583/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com