是否可以在Processing 3中实现Stack?

问题描述 投票:-2回答:2
import java.util.Stack;
Stack stack = new Stack();

void setup(){
    stack.push('1');
    println(stack);
}

IDE说:“函数push(String)不存在”

java data-structures stack processing
2个回答
1
投票

你的代码运行正常。

import java.util.Stack;
Stack stack = new Stack();
stack.push("1");
println(stack);

请注意,我已经将'1'更改为"1",我猜你正在做的事情。

这正确地为我打印出[1]

您可能想要添加泛型:

import java.util.Stack;
Stack<String> stack = new Stack<String>();
stack.push("1");
println(stack);

这将保证您只将String值添加到Stack。但是没有它也应该可以正常工作。

我的猜测是你忘记了stack.部分:

push("1");

这将生成您提到的错误。通过在函数前添加stack.来解决此问题。

将来,请确保您在问题中发布的代码实际上是您正在运行的代码。


0
投票

java中的字符串是双引号"string"而不是'string'。 此外,我发现对我来说,以下代码正在工作[confirmation image here]

    Stack stack = new Stack();
    stack.push('1');
    System.out.println(stack.pop());

所以,可能的原因可能是泛型。 如您所知,java.util.Stack是通用框架。 所以建议你使用Stack<String> stack = new Stack<>();

© www.soinside.com 2019 - 2024. All rights reserved.