我正在尝试使用下面的代码
来实例化Queue
的对象
var queue: Queue<Int> = Queue()
但我得到了这个
Interface Queue没有构造函数
不知道发生了什么,搜索时我发现了link.
但我什么都不懂。 请帮忙。
答案 0 :(得分:22)
var queue: Queue<Int> = ArrayDeque<Int>()
是interface。因此,您无法实例化接口,您必须实现它或实例化实现它的类。
例如,您可以执行Queue
。 ArrayDeque实施use std::thread;
fn test2() {
let x = "abc".to_string();
thread::spawn(|| {
foo2(x);
});
}
fn foo2(x: String) {}
fn test1() {
let x = 1;
thread::spawn(|| {
foo1(x);
});
}
fn foo1(x: i32) {}
fn main() {}
。
答案 1 :(得分:7)
您尝试创建接口实例但不要覆盖它的方法。你应该使用这样的东西:
val queueA = LinkedList<Int>()
val queueB = PriorityQueue<Int>()
您还可以阅读有关队列实施的更多信息here
答案 2 :(得分:0)
队列是一个接口。所以你不能实例化一个接口。你应该使用这样的东西:
val queue: Queue<Int> = LinkedList()