java - 在 Java 中使用数组构建双端队列(使用泛型)
问题描述
我正在尝试使用 java 数组实现 Deque。由于要求,我需要使用泛型,所以我有以下代码:
public class Deque<Item>{
private Item[] deque;
public Deque(){
deque= new Item[10];
}
我知道这是错误的,但这就是我认为应该初始化数组的方式。如果有人能给我正确的方法来做这件事,那就太好了。
解决方案
由于这是类内部的,你可以做这样的事情。
public Deque() {
deque = (Item[]) new Object[10];
}
您需要这样做,因为泛型在运行时会进行类型擦除。由于 java 数组是协变的,你可以用Object
.
推荐阅读
- wpf - 在不知道 Visual Studio 入口点的情况下跟踪执行路径
- java - SpringMVC 无法到达控制器,每次都抛出 404
- scheduled-tasks - 读取 csv 文件内容并传递到 json 数组以通过 HTTP Post Action 发布 - Microsoft Flows
- html - 无法以 PDF 格式呈现图像(Puppeteer)
- javascript - 即使在添加catch块之后,nodejs中的“UnhandledPromiseRejectionWarning”
- java - spring-cloud-gateway:java.lang.IndexOutOfBoundsException
- javascript - 无法创建发布请求
- selenium - 如何并行执行多个测试套件?
- python - 在循环中向矩阵添加列
- mysql - 在 InnoDB 中使用 MAX 模拟自动增量的最快和最安全的方法