Java等于或包含方法?

时间:2013-05-12 12:29:25

标签: java equals contains

我有一个堆栈(记录),其中包含以下元素:

first   20130512142202
second  20130512142204
third   20130512142206
fourth  20130512142209
fifth   20130512142212

我想检查一个String值(比如说“second”)是否被引用到堆栈中的其他位置。 所以我试过了:

while(!Records.empty()) {
    String checkRecord=Records.pop().toString();
    if(checkRecord.equals("second")) {
        System.out.println(checkRecord + " found");
    }

    else {
        System.out.println(checkRecord +" not found");
    }
}

System.out.println("END OF STACK");

等于返回false,这很好,因为“second”与“second(20130512142204)”不完全相同。所以我需要其他东西,我尝试contains()返回true,但即使使用:

也返回true
string test = "second  20130512142204";
test.contains(rt);

contains()是实现我需要的正确选择还是我应该尝试不同的方法/修改我的代码? 当且仅当我给出的字符串是堆栈行的一部分时,我才想成真。

1 个答案:

答案 0 :(得分:0)

如果你特别想从你的问题中的堆栈示例中找到一个String startsWith“second”。使用“”.startsWith()函数

所以代码是

  while(!Records.empty()){
        String checkRecord=Records.pop().toString();

        //True when the current checkRecord string startsWith "second"
        if(checkRecord.startsWith("second"))
        {

            System.out.println(checkRecord + " found");
        }else{
            System.out.println(checkRecord +" not found");
        }
    }
    System.out.println("END OF STACK");

此外,“”。configure()函数必须与上面的代码完全相同。我不明白为什么它不适合你。