Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查堆栈元素和字符的等价性_Java_Arrays_Stack - Fatal编程技术网

Java 检查堆栈元素和字符的等价性

Java 检查堆栈元素和字符的等价性,java,arrays,stack,Java,Arrays,Stack,我想检查堆栈顶部的元素是否等于字符串中的字符。我该怎么做呢?我知道这是不对的: if (stack.peek() != str.charAt(i)) {} 我非常确定堆栈没有.equals()方法。如果您使用字符串的堆栈,那么下面是示例代码: Stack<String> st = new Stack<>(); st.add("s"); if(st.peek().equals(String.valueOf("sasda".charAt(0

我想检查堆栈顶部的元素是否等于字符串中的字符。我该怎么做呢?我知道这是不对的:

if (stack.peek() != str.charAt(i)) {}

我非常确定堆栈没有
.equals()
方法。

如果您使用
字符串的
堆栈
,那么下面是示例代码:

Stack<String> st = new Stack<>();
        st.add("s");

        if(st.peek().equals(String.valueOf("sasda".charAt(0)))) {
            System.out.println("blah blah");
        }
Stack st=new Stack();
st.add(“s”);
if(st.peek().equals(String.valueOf(“sasda.charAt(0))){
System.out.println(“诸如此类”);
}
N.B:

1) 即使您使用的是
String
,但仅使用
equals()
是不够的,因为您正在将
char
String
进行比较(
stack.peek()!=str.charAt(i)
)。因此,您需要比较
String
char

2) 如果您使用的是自定义
POJO
,那么您将使用
getter
进行比较


希望一切都清楚

您的
堆栈
对象是如何创建的?为什么不工作?在我看来,这是唯一明智的做法。但是,如何定义堆栈?