gpt4 book ai didi

java - 链表错误

转载 作者:行者123 更新时间:2023-11-30 06:12:50 24 4
gpt4 key购买 nike

代码“new Mystack<>();”是红色下划线,我有编译器错误:“无法访问 LinkedListStack 类型的封闭实例。必须使用 LinkedListStack 类型的封闭实例来限定分配(例如 x.new A(),其中 x 是 LinkedListStack 的实例)。

但我不明白该消息,出了什么问题?

import java.util.LinkedList;

public class LinkedListStack {

public static void main(String[] args) {

MyStack<Integer> stack = new MyStack<>();
}


class MyStack<E extends Number>
{
private LinkedList<E> elements = new LinkedList<>();

public void push(E item) {
elements.add(item);
}

public E pop() {
return elements.removeFirst();
}

public E peek() {
return elements.getLast();
}
}
}

最佳答案

您将 MyStack 定义为 LinkedListStack 的内部类,这意味着它需要实例化一个封闭实例(LinkedListStack 类):

MyStack<Integer> stack = new LinkedListStack().new MyStack<>();

或者您可以将 MyStack 更改为嵌套类,它不需要封闭实例:

static class MyStack<E extends Number>
{
...
}

这样您就不需要更改您的main

关于java - 链表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49853479/

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