当前位置: 首页 > 面试题库 >

如何在Java中实例化Queue对象?

郑胡媚
2023-03-14
问题内容

当我尝试:

Queue<Integer> q = new Queue<Integer>();

编译器给我一个错误。有什么帮助吗?

另外,如果要初始化队列,是否必须实现队列的方法?


问题答案:

A Queue是一个接口,这意味着您不能Queue直接构造一个。

最好的办法是建立关闭一类已经实现了Queue接口,像下面的一个:AbstractQueueArrayBlockingQueueArrayDequeConcurrentLinkedQueueDelayQueueLinkedBlockingQueueLinkedListPriorityBlockingQueuePriorityQueue,或SynchronousQueue

一种替代方法是编写您自己的类,该类实现必要的Queue接口。除非在极少数情况下您希望在为程序的其余部分提供的同时做一些特别的事情,否则不需要它Queue

public class MyQueue<T extends Tree> implements Queue<T> {
   public T element() {
     ... your code to return an element goes here ...
   }

   public boolean offer(T element) {
     ... your code to accept a submission offer goes here ...
   }

   ... etc ...
}

更少使用的替代方法是构造一个实现的匿名类Queue。您可能不想这样做,但是为了覆盖所有基础,将其列为选项。

new Queue<Tree>() {
   public Tree element() {
     ...
   };

   public boolean offer(Tree element) {
     ...
   };
   ...
};


 类似资料:
  • 问题内容: 我是编程的新手,我想知道实例化对象时哪里出错了。下面是代码: 问题答案: 您的代码中没有类。您声明的是私有方法。 使用当前代码段,您需要实例化该类并利用该方法。注意,在这种情况下,您的类定义前面有关键字 class。 但这并没有实际意义,您的方法总是会返回。 您是否正在尝试执行以下操作:

  • 问题内容: JavaScript中有一个对象。我想实例化一个用于测试目的。 我已经尝试过,但是出现“非法构造函数”错误。 是否可以创建对象? 问题答案: 根据W3C File API规范,File构造函数需要2(或3)个参数。 因此,要创建一个空文件,请执行以下操作: 第一个参数是作为文本行数组提供的数据; 第二个参数是文件名; 第三个参数如下: 它适用于FireFox,Chrome和Opera,

  • 问题内容: 我使用,在我的应用程序中添加了易于阅读的配置文件,并试图在该文件周围添加包装器,以简化类型转换。具体来说,我希望返回的值从提供的默认值开始“继承”它的类型。到目前为止,这是我得到的: (完整示例来源。) 不管是否从属性文件中读取返回值,from的返回值都是一个布尔值,对于字符串,整数,双精度数和&c而言,返回值都类似。当然,上面的代码片段实际上并没有编译: 我做错了吗,还是我只是试图做

  • 我想创建一个抽象工厂。这是我试过的。 //抽象类工作者 //扩展工人的电工班 //梅森班 //接口可操作性StractFactory // //应用程序类 你认为它能像那样工作吗?现在,如果我真的想要一个具体的物体,怎么能做到呢?因为我想写一个根据类型计算每个工人工资的方法,例如,我如何在方法中使用我的抽象工厂来返回每个类型。

  • 问题内容: 我想要的只是使用一些并发Set(看起来根本不存在)。Java用于实现该行为。我想在Scala中做类似的事情,所以我创建了Scala HashMap(或Java ConcurrentHashMap)实例,并尝试添加一些元组: 当然,由于Unit是抽象的也是最终的,因此这使编译过程崩溃了。 如何使这项工作?我应该使用/ 代替吗?我必须确保没有人插入任何值。 感谢帮助 问题答案: 您可以只使

  • 我试图在java中使用Hibernate和TypedQuery。 我试图调用的方法有一个签名 我想像bellow一样调用它,但是用一个真实的实例替换null。 上面的代码经过编译,但显然带有空指针异常。 如果我对擦除的理解是正确的,那么只要我得到类对象的一个实例,这就行了,因为所有泛型类型信息在运行时都会丢失。 是否有任何方法,我可以得到一个类的实例,我可以分配给变量cls,使这个代码将工作?