【问题标题】:Checking Equivalence of a Stack element and a char检查 Stack 元素和 char 的等价性
【发布时间】:2018-06-28 06:22:21
【问题描述】:

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

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

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

【问题讨论】:

  • 您的stack 对象是如何创建的?
  • 为什么不行?这对我来说似乎没问题,而且是唯一明智的做法。不过,您如何定义您的堆栈?

标签: java arrays stack


【解决方案1】:

如果您使用的是StackString,那么这里是示例代码:

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

        if(st.peek().equals(String.valueOf("sasda".charAt(0)))) {
            System.out.println("blah blah");
        }

注意:

1) 即使您使用Stringequals() 也是不够的,因为您在此处将charString 进行比较(stack.peek() != str.charAt(i))。所以你需要比较Stringchar

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

希望很清楚。

【讨论】:

    猜你喜欢
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多